• Zapisz się na newsletter, aby otrzymywać powiadomienia o najnowszysch wpisach.

Podsumowanie tygodniowych nadgodzin – SUMA.JEŻELI lub SUMA.ILOCZYNÓW

Wpis ten pokazuje metodę na obliczenie nadgodzin w pewnym okresie, zakładając, że nadgodziny to wszystkie godziny przepracowane ponad etat i w weekendy. W poprzednim wpisie pokazywałam jak to zrobić z kolumnami pośredniczącymi, w których krok  po kroku są obliczane czas pracy, godziny nadliczbowe i godziny, które pracownik odebrał.

W dzisiejszym filmie pokazuję zaś jak to zrobić tylko na podstawie daty (tutaj mamy informację o dniu tygodnia) i godzin pracy.

Pokazuję 2 sposoby na obliczenie tego:

  1. z kolumną pośredniczącą, przy użyciu funkcji SUMA.JEŻELI i LICZ.JEŻELI
  2. bez kolumny pośredniczącej, za pomocą formuł tablicowych, używających funkcji SUMA.ILOCZYNÓW (nie trzeba zatwierdzać kombinacją klawiszy Ctrl + Shift + Enter)

Oba rozwiązania omawiam na filmie:

Czytaj dalej

Nadgodziny w tygodniu i w weekendy

Czyli trochę o wykorzystaniu funkcji DZIEŃ.TYG

Załóżmy, że pracownik pracuje na cały etat, czyli codziennie ma do przepracowania 8 godzin. My chcemy obliczyć liczbę nadgodzin, które zrobił. Nadgodziny rozumiem tutaj tak, że jeśli pracował w tygodniu dłużej niż 8 godzin, to każda nadwyżka to już są nadgodziny. Natomiast jeśli przyszedł do pracy w weekend, to każdy przepracowany czas traktuję jako nadgodziny.

Sytuację tę pokazuje poniższy obrazek, który równocześnie jest tym, co chcemy uzyskać.

Wynik

Czytaj dalej

Wielkość liter taka, jak w zdaniu (funkcja VBA)

Czyli robimy Worda z Excela – tym razem przy pomocy VBA

W poprzednim wpisie pokazywałam formułę, którą zamieniałam pierwszą literę w komórce na wielką, a pozostałe na małe. Używałam do tego formuły. Metoda super, bo działa 🙂 Natomiast dla mnie aż się prosi o usprawnienie. Zakładam bowiem, że będę jej potrzebowała częściej niż tylko raz i nie chce mi się jej pisać za każdym razem. Wolę wpisać funkcję, która to zrobi. Niestety, jak pisałam ostatnio, Excel takiej funkcji nie posiada…

…a skoro nie posiada, to trzeba ją samodzielnie napisać w VBA! I o tym będzie dzisiejszy film.

Czytaj dalej

Wielkość liter taka, jak w zdaniu (formuła)

Czyli robimy Worda z Excela 🙂

Rety, już kolejny wpis o funkcjonalnościach Worda w Excelu. Ostatnio była korespondencja seryjna i indeks górny (np. m2), a dziś o wielkości liter.

Już wielokrotnie napotkałam sytuację, że dostałam dane, gdzie wszystko był napisane małymi literami, a ja chciałam, aby wielkość liter była taka, jak w zdaniu, czyli zamienić wielkość pierwszej litery w zdaniu na wielką, a pozostałe na małe. Sprawa pozornie prosta, wystarczy znaleźć odpowiednią funkcję, ale… nie ma takiej 🙂 W Excelu mamy 3 funkcje umiejące zmienić wielkość liter, ale żadna nie umie zmienić ich w taki właśnie sposób. W Wordzie – nie ma problemu:

Opcje dostępne w Wordzie

Opcje dostępne w Wordzie

Ale nie w Excelu… Na szczęście na spokojnie można poradzić sobie z tą sytuacją. Tylko za pomocą formuły, używającej kilku funkcji tekstowych.

Czytaj dalej

Jak zapisać m2 w Excelu, czyli indeks górny w komórce

W Excelu wiem jak, ale nie wiem jak w tytule posta i na YouToube 😉 W każdym razie na poniższym filmie pokazuję jak to zrobić i wierzcie mi – jest to bardzo proste. Nie ma co prawda oddzielnego przycisku, jak w Wordzie, ale się da!

Mogą Ci się przydać takie skróty klawiszowe:

  • F2 – wejście do edycji komórki
  • Ctrl + 1 – wejście do formatowania komórki, w tym wypadku, po zaznaczeniu dwójki – formatowania czcionki
  • Ctrl + Enter – zatwierdzenie wpisu w komórce, przy czym zaznaczenie pozostaje w tej samej komórce.

 

Zawiadomienie pracowników o zmianie wynagrodzenia

Czyli korespondencja seryjna w Excelu

Wyobraźmy sobie sytuację, że chcemy wszystkim pracownikom dać 10% podwyżki (lubię sobie wyobrażać takie sytuacje:)). Wszystko cudownie, ale wymaga to od nas stworzenia całej masy papierków, między innymi pisemną informację dla pracownika o tym fakcie. Chcemy mieć taką informację wydrukowaną na papierze, no więc nic prostszego – idealna sytuacja dla korespondencji seryjnej w Wordzie. Ale… dostaliśmy od przełożonej jedyną słuszną formatkę, tylko, że… w Excelu. Ma być taka i koniec.

No i zonk: jak zrobić korespondencję seryjną w Excelu???

Na szczęście jest rozwiązanie, tylko wymaga napisania makra.

Wynik

Czytaj dalej

Klient był u nas tylko raz – jak takich wyłapać w Power Query?

W poprzednim wpisie pokazywałam jak wyłapać klientów/ pacjentów, którzy byli u nas tylko raz, nawet, jak jednego dnia kilka razy. Są oni dla nas jednorazowymi klientami i chcemy ich dalej analizować. Ostatnio pokazywałam metodę używającą tabel przestawnych i funkcji LICZ.JEŻELI, która była świetna, jeśli nie mamy Power Query 🙂

Dzisiaj natomiast pokażę Wam (i to dosłownie, bo na filmie) rozwiązanie tego samego zadania tylko za pomocą Power Query. To rozwiązanie z kolei jest idealne, gdy wiemy, że takie dane będziemy wyciągać wielokrotnie. Zapytanie PQ wystarczy bowiem tylko odświeżyć i voila! Uwielbiam to 🙂

Czytaj dalej

Klient, który był u nas tylko raz – jak takich wyłapać?

Czyli trochę o tabelach przestawnych, jako narzędziu roboczym

Przed Wami zadanie, które idealnie nadaje się do rozwiązania dla Power Query. Są dane wejściowe, które chcemy „obrobić” i jak najszybciej uzyskać pożądany wynik (hehe, a z którymi danymi tego nie chcemy zrobić?:)). W dzisiejszym wpisie jednak rozwiążę to zadanie wykorzystując tabele przestawne. Chcę bowiem pokazać Wam, że świetnie nadają się one nie tylko do raportowania, ale też jako narzędzie robocze. Wiele osób boi się tabel przestawnych, traktując je jak swojego rodzaju tabu i coś, co tylko zaawansowani użytkownicy znają i używają. Tymczasem są one prostym i bardzo przyjaznym narzędziem, mającym wiele ciekawych właściwości, które można wykorzystywać w wielu sytuacjach. A tak samo łatwo się je tworzy i usuwa. Nic nie popsujemy 🙂 No i są one dostępne w każdej wersji Excela.

Załóżmy, że analizujemy klientów przychodni lekarskiej. Chcemy wyłapać tych, którzy byli u nas tylko raz, przy czym tego jednego razu mogli być na kilku wizytach, ale zawsze jednego dnia. Czyli tak, jak na obrazku poniżej – klient oznaczony niebieską ramką był jednego dnia (2017-04-22) na 3 wizytach i oprócz tego nigdy więcej. O takich właśnie nam chodzi.

Formatka

Formatka

Czytaj dalej

Zależna lista rozwijana z nieposortowanych danych – zdarzenie VBA

Czyli co zrobić, aby wpisy na liście zmieniały się dynamicznie, kiedy dopisujemy dane

Przyznam, że sporo namęczyłam się, aby znaleźć rozwiązanie tego problemu. Jak już jakieś wymyśliłam, obalałam je, bo nie do końca by działało… Wymyśliłam nawet funkcję tablicową napisaną w VBA, która idealnie zwracałaby tablicę z wynikami, problem jednak polegał na tym, że lista rozwijana potrzebuje ZAKRESU, a moja wyimaginowana funkcja dawała jej tablicę. Gdyby ta tablica znajdowała się w jakimś zakresie, to ok – wszystko pięknie by działało. Ale to byłoby bez sensu: musiałabym mieć tych zakresów wiele i to nie wiadomo jakich rozmiarów… Z kolei nie mogłam napisać funkcji zwracającej zakres, ponieważ zakresu de facto nigdzie nie mam… i tak w koło Macieju.

W końcu wymyśliłam rozwiązanie, które po prostu tworzy listę rozwijaną w momencie kliknięcia w komórkę, w której lista powinna się znajdować. To natomiast jest już procedura zdarzenia VBA, więc jest ciut bardziej skomplikowane. Na szczęście żeby działało, nie trzeba tego rozumieć – wystarczy przekopiować kod 😉

Czytaj dalej

Wyodrębnianie gramatury produktów z ich nazwy, czyli liczba z tekstu

Czyli wyodrębniania liczby z tekstu za pomocą funkcji w VBA

W dzisiejszym wpisie sytuacja, której nie życzę nikomu.Sytuacja, która jednak się zdarza i to jak się okazuje często… Najlepiej zobrazuje to screen poniżej:

Formatka

I chodzi oczywiście o wyciągnięcie gramatury z nazwy produktu. Jest wiele fajnych metod na wyciąganie liczb z tekstu, jednak ta sytuacja jest wyjątkowo wredna, ponieważ te liczby są różnej długości, w różnych miejscach w tekście, są często dziesiętne, a nawet jak są całkowite, to zapisywane np. tak: 1,0 zamiast po prostu 1. Próbowałam wielu sposobów na ten przypadek, ale po wielu nieprzespanych nocach stwierdziłam, że jednak VBA będzie tutaj najlepszym wyjściem. Zawsze staram się unikać funkcji tworzonych w VBA, ponieważ są wolniejsze, muszą być przechowywane w pliku z rozszerzeniem .xlsm lub .xlsb itp. Jednak tutaj stwierdziłam, że to najlepsze wyjście.

Czytaj dalej