Quantcast
Channel: Malinowy Excel
Viewing all articles
Browse latest Browse all 291

Liczba godzin pracy na podstawie symboli (formuła tablicowa)

$
0
0

Czyli coś trudnego prostymi funkcjami…

Ogólnie sytuacja wydaje się prosta – mamy dany czas pracy pracownika w poszczególnych dniach i chcemy poznać jego łączny czas pracy w danym okresie. Problem jest jednak w tym, że ten czas pracy podany jest za pomocą symboli, a nie liczb. Np. UW to Urlop wychowawczy, który dla obliczeń bierze 8 godzin. Tych oznaczeń jest więcej i są one widoczne w tabelce po prawej stronie formatki:

Formatka

Formatka

Oczywiście w żółtych polach chcemy uzyskać sumę łączny czas pracy danego pracownika. Gdybyśmy chcieli/mogli mieć tabele pomocniczą – zadanie byłoby wręcz banalne! Natomiast nie mamy takiej tabeli, więc trzeba kombinować formułą tablicową. I o niej dalej.

Gdybyśmy mieli tylko jeden symbol do znalezienia, np. CD – formuła byłaby bardzo prosta. Można byłoby się posłużyć tutaj np. SUMĄ.JEŻELI, WYSZUKAJ.PIONOWO czy jeszcze kilkoma innymi funkcjami. Wtedy kazalibyśmy funkcji, np. SUMIE.JEŻELI, szukać symbolu CD w zakresie z symbolami (N4:N9) i na tej podstawie sumować liczbę godzin (O4:O9).

Formuła wyglądałaby tak:

=SUMA.JEŻELI($N$4:$N$9;C4;$O$4:$O$9)

I byłoby po sprawie.

Natomiast do poszukania mamy zdecydowanie więcej symboli. Jest więc to pole do popisu dla formuły tablicowej. Nadal będziemy używać w niej SUMY.JEŻELI (oczywiście jak chcesz – możesz użyć SUMY.WARUNKÓW), natomiast każemy jej znaleźć wszystkie symbole dla danego pracownika, czyli tak:

=SUMA.JEŻELI($N$4:$N$9;C4:K4;$O$4:$O$9)

Problem jest jednak taki, że jak taką formułę zatwierdzimy – otrzymamy w wyniku zero. SUMA.JEŻELI bowiem zwróci w wyniku tablicę wartości, która nie mieści się w jednej komórce (nie możemy przechowywać wielu komórek w jednej komórce – to potrafi Power Query ;)). Tak wygląda wynik powyższej funkcji (będąc w edycji formuły – wciśnij F9, aby się o tym przekonać):

={24\12\12\0\8\8\12\8\12}

Nawiasy klamrowe naokoło wyników oznaczają, że jest to tablica wartości. I co ciekawe – te wartości są prawidłowymi wynikami! SUMA.JEŻELI wywiązała się z zadania.

Tylko trzeba byłoby to teraz jeszcze podsumować… Potrzebna nam jest więc funkcja sumująca. No wow, wielkie odkrycie: SUMA oczywiście! I tak, SUMA oczywiście zda tutaj egzamin (umie w końcu sumować ;)). Natomiast jeśli jej użyjemy, koniecznie musimy zatwierdzić całą formułę kombinacją klawiszy Ctrl + Shift + Enter (w skrócie: CSE). Efekt będzie taki, że naokoło formuły pojawią się nawiasy klamrowe, wstawiane automatycznie przez Excela (nie kopiuj ich z formuły poniżej!):

{=SUMA(SUMA.JEŻELI($N$4:$N$9;C4:K4;$O$4:$O$9))}

CSE oczywiście zadziała, wynik wyjdzie prawidłowy. Problem jednak jest taki, że o CSE często się zapomina (patrz: ja ;)), no i nie da się wtedy skorzystać z mojego ukochanego Ctrl + Enter, tylko trzeba kopiować przeciąganiem, albo Ctrl + c i Ctrl + v.

Żeby jednak tego uniknąć, wystarczy zastosować inną funkcję sumującą. A jest nią SUMA.ILOCZYNÓW, o której już wielokrotnie wspominałam na blogu (np. tutaj) :). Ta funkcja sumuje (w tym wypadku identycznie jak SUMA) i umie radzić sobie z tablicami i to bez CSE! Dlatego, jak masz coś do dodania w formule tablicowej – zdecydowanie polecam Ci SUMĘ.ILOCZYNÓW:

=SUMA.ILOCZYNÓW(SUMA.JEŻELI($N$4:$N$9;C4:K4;$O$4:$O$9))

Wynik oczywiście dostaniemy ten sam, tylko bez CSE, no i możesz skopiować formułę Ctrl + Enter 😉

Wynik

Wynik

Proste? Mam nadzieję :).

 

Tutaj możesz pobrać plik z gotowym rozwiązaniem:

MalinowyExcel Suma czasu pracy formułą tablicową dw.xlsx

 

A tutaj wersja wideo (pojawi się wkrótce):

A jeśli temat formuł tablicowych Cię interesuje, to bardzo serdecznie Ci polecam serię filmów Mike’a Girvina na ten temat. Mike napisał też książkę o formułach tablicowych, dostępna jest w po angielsku.

 


Viewing all articles
Browse latest Browse all 291

Trending Articles


TRX Antek AVT - 2310 ver 2,0


Автовишка HAULOTTE HA 16 SPX


POTANIACZ


Zrób Sam - rocznik 1985 [PDF] [PL]


Maxgear opinie


BMW E61 2.5d błąd 43E2 - klapa gasząca a DPF


Eveline ➤ Matowe pomadki Velvet Matt Lipstick 500, 506, 5007


Auta / Cars (2006) PLDUB.BRRip.480p.XviD.AC3-LTN / DUBBING PL


Peugeot 508 problem z elektroniką


AŚ Jelenia Góra