W tym poście, w odpowiedzi na pytanie Kwolany (dotyczyło posta: Tygodniowy czas pracy i nadgodziny), pokażę jak obliczyć wynagrodzenie za nadgodziny przy elastycznym czasie pracy.
Przez elastyczny czas pracy rozumiem tutaj, że pracownik:
- przychodzi na ustaloną godzinę do pracy (np. 8:00),
- wychodzi o wybranej przez siebie porze,
- jednak zaległe godziny musi odpracować później.
Zakładam również, że pracuje na pełen etat, czyli 8 godzin dziennie.
Tabela danych wygląda następująco:
W przedstawianym przeze mnie przypadku policzę:
- liczbę nadgodzin na dzień: pracownik pozostaje w pracy dłużej niż 8 godzin w ciągu dnia
- liczbę godzin zaległych na dzień: pracownik przebywa w pracy krócej niż 8 godzin w ciągu dnia
- liczbę nadgodzin ogółem: w przypadku, gdy sumarycznie godzin dodatkowych jest więcej niż zaległych – jest to różnica między godzinami dodatkowymi a zaległymi
- liczbę godzin zaległych ogółem: w przypadku, gdy sumarycznie godzin zaległych jest więcej niż nadgodzin – jest to różnica między godzinami zaległymi a nadgodzinami
A oto kroki, które należy wykonać, aby obliczyć poszczególne dane:
1. Czas pracy: w komórkę D2 wpisz formułę:
=C2-B2
Skopiuj ją do komórek D3:D6.
2. Zaległe na dzień: w komórkę E2 wpisz formułę:
=JEŻELI(D2<8/24;8/24-D2;0)
Skopiuj ją do komórek E3:E6.
3. Nadgodziny na dzień: w komórkę F2 wpisz formułę:
=JEŻELI(D2>8/24;D2-8/24;0)
Skopiuj ją do komórek F3:F6.
4. Godzin zaległych ogółem: w komórkę D9 wpisz formułę:
=JEŻELI(E7>F7;E7-F7;0)
5. Nadgodzin ogółem: w komórkę D10 wpisz formułę:
=JEŻELI(F7>E7;F7-E7;0)
6. Wynagrodzenie za nadgodziny: w komórkę D14 wpisz formułę:
=ZAOKR(JEŻELI(D10>0;D10*24*D13;0);2)
7. Podsumowanie TOTAL w wierszu 7, to zwykła suma z wierszy 2:6.
Oto wygląd tabeli po wpisaniu formuł:
Gotowe!
Jeśli jesteś ciekawy, w jaki sposób sformatować komórki, zawierające czas – dokładny tego opis znajdziesz tutaj.
Czy jest jakiś konkretny powód, żeby tworzyć te wszystkie kolumny i wpisywać w każdej instrukcje warunkową, zamiast po prostu obliczyć bilans godzinowy?
=C1-B1-8/24
potem suma bilansów. Jak wyjdzie na plusie, to mamy liczbę nadgodzin. Jak wyjdzie na minusie, to pracownik nie wyrobił swojego etatu.
I ewentualnie jedna konstrukcja warunkowa przy wyświetleniu wyniku:
=JEŻELI(D7>0;ZAOKR(D7*D13*24;2);”Pracownik nie miał nadgodzin w tym tygodniu”)
Stworzyłam wszystkie te kolumny dlatego, iż zależało mi na pokazaniu kolejnych etapów wyliczeń oraz ich wyników: ile i jakich godzin (nadgodziny/zaległe) w danym dniu pracownik przepracował. Instrukcje warunkowe są po to, by nie wyświetlało się „####” przy ujemnych godzinach. Oczywiście tak, jak Pan proponuje również można to obliczyć i wyjdzie dokładnie ten sam wynik.