yemek saatlerine ve ertesi güne sarkma şartlarına göre harcırah

Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
yemek saatlerine ve ertesi güne sarkma şartlarına göre koşullarımın sağlanması konusunda yardım talep ediyorum. konuyla ilgili forumda benzer örnekler olsa da bu konularda saat hesabı üzerinden gidilmiş olduğundan işimi görmedi. fonksiyonla da yapılabilirse uygundur. teşekkürler...
 
Katılım
25 Ocak 2006
Mesajlar
763
Excel Vers. ve Dili
2019 tr
Altın Üyelik Bitiş Tarihi
04-01-2024
ben cevaplayayım, belki birilerine lazım olur...

Kod:
Function hrcrh(gidis_tarih, gidis_saat, donus_tarih, donus_saat)

If IsDate(gidis_tarih) = False Then hrcrh = "": Exit Function

If IsDate(donus_tarih) = False Then hrcrh = "": Exit Function

If gidis_saat = "" Then hrcrh = "": Exit Function

If donus_saat = "" Then hrcrh = "": Exit Function

 
deg1 = Split(gidis_saat, "/")

If UBound(deg1) > 0 Then

gidis_saat = (deg1(0)) + (deg1(1))

Else

gidis_saat = (gidis_saat)

End If


deg2 = Split(donus_saat, "/")

If UBound(deg2) > 0 Then

donus_saat = (deg2(0)) + (deg2(1))

Else

donus_saat = (donus_saat)

End If


If gidis_saat <= 0 Then hrcrh = "": Exit Function

If donus_saat <= 0 Then hrcrh = "": Exit Function

 

If gidis_tarih = donus_tarih Then


If gidis_saat <= 13 And donus_saat > 19 And gidis_saat < donus_saat Then

hrcrh = 2 / 3

ElseIf gidis_saat >= 13 And donus_saat > 13 And donus_saat < 19 And gidis_saat < donus_saat Then

hrcrh = 1 / 3

ElseIf gidis_saat >= 13.01 And donus_saat > 19 And donus_saat <= 23.59 And gidis_saat < donus_saat Then

hrcrh = 1 / 3

ElseIf gidis_saat <= 13 And donus_saat > 13 And donus_saat <= 19 And gidis_saat < donus_saat Then

hrcrh = 1 / 3



Else

hrcrh = ""

End If

ElseIf gidis_tarih < donus_tarih Then

hrcrh = donus_tarih - gidis_tarih + 1

 

Else

hrcrh = ""

End If

End Function
 
Üst