Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Excel - liczenie godzin nocnych i dziennych do pracy

496 views
Skip to first unread message

pioruns

unread,
Jun 14, 2011, 4:34:53 AM6/14/11
to
Witam.
Czy ktoś byłby w stanie mi pomóc napisać formuły liczące taryfy nocne i
dzienne w pracy
Czyli: mam dwa pola z danymi, gdzie są godziny, np.
6.00 18.00 (12 godzin dziennych)
21.00 6.00 (1 godzina dzienna, 8 nocnych)

Jak napisać dobrą formułę, żeby liczyła ile było w danym dniu godzin
dziennych a ile nocnych? Bo jak na razie to pozagnieżdzałem się w tych
JEŻELI, ale nie mogę tego dokończyć. Proszę o pomoc:)

--
pozdrawiam, pioruns
_,.-'~'-.,__,.-'~'-.,__,.-'~'-.,__,.
Linux Registered User #454644

Cynio

unread,
Jun 14, 2011, 9:23:27 AM6/14/11
to
no coz formułami to trochę warunków jest, poniżej funkcja, którą
stworzyłem w VBA (działa jak każda inna), z dwoma parametrami, komórka
z początkiem i koncem pracy.


Function godziny_pracy(poczatek, koniec)

pocz_nocy = #10:00:00 PM#
kon_nocy = #6:00:00 AM#
If poczatek >= kon_nocy And poczatek < pocz_nocy Then
czy_dzienna_poczatek = "Y"
Else: czy_dzienna_poczatek = "N"
End If

If koniec >= kon_nocy And koniec < pocz_nocy Then
czy_dzienna_koniec = "Y"
Else: czy_dzienna_koniec = "N"
End If

'praca zaczyna sie w dzien i kończy się w dzień
If czy_dzienna_poczatek = "Y" And czy_dzienna_koniec = "Y" Then
If poczatek < koniec Then
godziny_pracy = Format(koniec - poczatek, "h") & " godzin
dziennych"
Else: godziny_pracy = Format(koniec - kon_nocy + pocz_nocy -
poczatek, "h") & " godzin dziennych i 8 godzin nocnych"
End If

End If

'praca zaczyna sie w dzień i kończy się w nocy
If czy_dzienna_poczatek = "Y" And czy_dzienna_koniec = "N" Then
If poczatek < koniec Then
godziny_pracy = Format(koniec - poczatek, "h") & " godzin
dziennych i " & Format(koniec - pocz_nocy, "h") & " godzin nocnych"
Else: godziny_pracy = Format(pocz_nocy - poczatek, "h") & " godzin
dziennych i " & Format(koniec + 2 / 24, "h") & " godzin nocnych"
End If

End If

'praca zaczyna sie w nocy i kończy się w dzień
If czy_dzienna_poczatek = "N" And czy_dzienna_koniec = "Y" Then
If poczatek < koniec Then
godziny_pracy = Format(koniec - kon_nocy, "h") & " godzin
dziennych i " & Format(kon_nocy - poczatek, "h") & " godzin nocnych"
Else: godziny_pracy = Format(koniec - kon_nocy, "h") & " godzin
dziennych i " & Format(1 - poczatek + 6 / 24, "h") & " godzin nocnych"
End If

End If

'praca zaczyna sie w nocy i kończy się w nocy
If czy_dzienna_poczatek = "N" And czy_dzienna_koniec = "N" Then
If poczatek < koniec Then
godziny_pracy = "0 godzin dziennych i " & Format(koniec -
poczatek, "h") & " godzin nocnych"
Else: godziny_pracy = "0 godzin dziennych i " & Format(koniec +
2 / 24, "h") & " godzin nocnych"
End If

End If
End Function


--
Pozdr.
Cynio

0 new messages