Ostatnio (w artykule: Obliczenie czasu pracy (proste)) opisywałam, jak obliczyć liczbę godzin, które przepracował dany pracownik. Dziś zajmę się obliczeniem wynagrodzenia za ten przepracowany czas.
Zanim jednak przejdę do omawiania tej kwestii, najpierw krótko opowiem o tym, jak Excel traktuje czas. Mianowicie, Excel traktuje czas, a zatem godziny, jak liczby. Dla niego jedna godzina to 1/24 doby. Czyli przykładowo godzina 12:00 (12 godzin) to 12/24, czyli 0,5. Jeśli więc wpiszemy w Excelu 0,5 i sformatujemy to jako czas – otrzymamy w wyniku godzinę 12:00. Podobnie, jak wpiszemy godzinę 8:00 i sformatujemy jako ogólne, otrzymamy w wyniku 0,3333 czyli 8/24. I tak dalej… Przedstawia to poniższy rysunek:
Dziwne? Na początku może się takie wydawać, ale powiem Wam, że im dłużej o tym myślę, to nie 🙂
Aby więc dokonywać obliczeń na czasie, traktowanym jako liczba godzin (zapis 8:00 w kolumnie F na obrazku, oznacza 8 godzin w zależności od kontekstu może również znaczyć godzinę 8:00, jednak wciąż jest to ta sama liczba dla Excela), należy mnożyć wynik razy 24. Wtedy mianownik (np: 8/24) skróci się i otrzymamy szukaną ilość godzin. Dopiero wtedy mnożenie przez wynagrodzenie (np. 100 zł dla równego rachunku) ma sens. Zobaczcie tę logikę na rysunku:
PS Oczywiście działa to również wtedy, gdy mamy do czynienia z niepełnymi godzinami, np: 8:34.
Jak to już wiemy, to obliczenie wynagrodzenia za przepracowany czas to już pikuś 😉 Wystarczy tylko dorzucić funkcję zaokrąglającą i z głowy. W tabeli poniżej, dla każdego pracownika podany jest jego czas pracy oraz stawka godzinowa. My chcemy oczywiście poznać wynagrodzenie:
Aby to zrobić należy wpisać w komórkę G1 następującą formułę:
=ZAOKR(F2*24*C2;2)
Następnie należy skopiować formułę do pozostałych rekordów tabeli.
Formuła ta mnoży czas pracy razy 24 i razy stawka godzinowa. Pomnożenie czasu pracy przez 24 jest konieczne, ponieważ w ten sposób uzyskujemy liczbę godzin, a nie liczbę, która reprezentuje daną godzinę (czyli liczbę godzin w tym przypadku) w Excelu. Dodatkowo, formuła została wpisana w funkcję ZAOKR() (więcej o użyciu tej funkcji możesz znaleźć tutaj), aby zaokrąglić wynik do 2 miejsc po przecinku. Wynik bowiem będzie wyrażony w złotych, a te mają maksymalnie 2 miejsca po przecinku.
A oto wynik:
Gotowe!
MalinowyExcel_Wynagrodzenie za przepracowany czas.xlsx
super porada, właśnie tego szukałem, wielkie dzięki 🙂
Dzięki!
dziękuje
Witam,
bardzo dziekuje za bardzo konkretne i wyczerpujace informacje.
Mam problem z obliczaniem czasu pracy. Jezeli sprawa dotyczy pracy od np. 7 do 16 to wydaje sie to proste, Problemy zaczynaja sie w sytuacjach rozliczen minutowych. I co zauwazylam, wychodza bardzo dziwne wyniki; lepiej byloby mi wyslac plik excela i pokazac to na przykladzie.
Czas prac od 6,02 do 8,12 = daje wynik 2,1 a powinno byc 2,16 w zaokragleniu 2,17, dalej od 6 do 8,2 =2,2 a powinno byc 2,33; dalej 5,55 do 8,11 = 2,56 a powinno byc 2,23 Skad wynikaja te bledy?
Witam,
cieszę się, że artykuł jest przydatny. Przyznam tylko, że nie za bardzo rozumiem pytanie, ponieważ jak policzyłam ręcznie, to też mi wyszły 2 godziny i 10 minut dla czasu od 6:02 do 8:12. Czyli potwierdziło mi się z wynikiem a formuły. Może chodzi o coś innego?