izin tahakkuku

Katılım
16 Ağustos 2008
Mesajlar
71
Excel Vers. ve Dili
Office 365
WİN 11 PRO
Merhabalar.
Ekteki dosyada personel için kıdemi ve mevcut yıldaki yaşı ile bağlantılı olmak üzere izin tahakkuku yapmak istiyorum.
Yardımlarınız için şimdiden teşekkürler.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,844
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Merhabalar.
Ekteki dosyada personel için kıdemi ve mevcut yıldaki yaşı ile bağlantılı olmak üzere izin tahakkuku yapmak istiyorum.
Yardımlarınız için şimdiden teşekkürler.

D4 hücresine bu formülü uygulayıp formülü aşağı ve sağa doğru sürükleyin
Kod:
=hakedis($B4;$C4;SAYIYAÇEVİR(METNEÇEVİR(METNEÇEVİR($B4;"gg.aa.")&D$3;"gg.aa.yyyy")))
Bir modül içinede aşağıdaki K.T.F kodunu koyun

Kod:

Kod:
Function hakedis(isegiristarihi, dogumtarihi, tarih)
If isegiristarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
End If

yer = Val((tarih - CDate(isegiristarihi)) * 1) + 1
'yer2 = Val((Val((dogumtarihi) * 1) / 365.25))
yer1 = Val(Val(((tarih - CDate(dogumtarihi)) * 1) + 1) / 365.25)
If yer >= 365.25 Then
tarih = Val((yer / 365.25))
Else
tarih = 0
End If

If isegiristarihi > 0 Then
If tarih <= 0 Then
hakedis = 0
ElseIf tarih >= 1 And tarih <= 5 Then
hakedis = 14
ElseIf tarih >= 6 And tarih <= 14 Then
hakedis = 20
ElseIf tarih >= 15 And tarih <= 65 Then
hakedis = 26
End If
If tarih > 0 Then
If hakedis <= 14 Then
If yer1 <= 18 Then
hakedis = 20
ElseIf yer1 >= 50 Then
hakedis = 20
End If
End If
End If
End If

End Function
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,554
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Sayın Halit3,


İyi akşamlar.

Katkınız için teşekkürler.

Sevgi ve saygılar.
 
Katılım
16 Ağustos 2008
Mesajlar
71
Excel Vers. ve Dili
Office 365
WİN 11 PRO
D4 hücresine bu formülü uygulayıp formülü aşağı ve sağa doğru sürükleyin
Kod:
=hakedis($B4;$C4;SAYIYAÇEVİR(METNEÇEVİR(METNEÇEVİR($B4;"gg.aa.")&D$3;"gg.aa.yyyy")))
Bir modül içinede aşağıdaki K.T.F kodunu koyun

Kod:

Kod:
Function hakedis(isegiristarihi, dogumtarihi, tarih)
If isegiristarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
End If

yer = Val((tarih - CDate(isegiristarihi)) * 1) + 1
'yer2 = Val((Val((dogumtarihi) * 1) / 365.25))
yer1 = Val(Val(((tarih - CDate(dogumtarihi)) * 1) + 1) / 365.25)
If yer >= 365.25 Then
tarih = Val((yer / 365.25))
Else
tarih = 0
End If

If isegiristarihi > 0 Then
If tarih <= 0 Then
hakedis = 0
ElseIf tarih >= 1 And tarih <= 5 Then
hakedis = 14
ElseIf tarih >= 6 And tarih <= 14 Then
hakedis = 20
ElseIf tarih >= 15 And tarih <= 65 Then
hakedis = 26
End If
If tarih > 0 Then
If hakedis <= 14 Then
If yer1 <= 18 Then
hakedis = 20
ElseIf yer1 >= 50 Then
hakedis = 20
End If
End If
End If
End If

End Function
Ellerinize sağlık.
Ancak tabloda 2012 yılında olduğumuz için 2012 yılı sonrasındaki izin tahakkuklarını göstermemesi gerekiyor.
Yada A1 hücresine bir tarih yazıp o tarihe göre sonuçları tabloya yansıtması için kodu veya formülü nasıl revize etmeliyiz.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,844
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Ellerinize sağlık.
Ancak tabloda 2012 yılında olduğumuz için 2012 yılı sonrasındaki izin tahakkuklarını göstermemesi gerekiyor.
Yada A1 hücresine bir tarih yazıp o tarihe göre sonuçları tabloya yansıtması için kodu veya formülü nasıl revize etmeliyiz.
A2 hücresine bugünün tarihini yazın
D4 hücresine aşağıdaki kodu yazın
Kod:
=hakedis($B4;$C4;SAYIYAÇEVİR(METNEÇEVİR(METNEÇEVİR($B4;"gg.aa.")&D$3;"gg.aa.yyyy"));$A$2)
K.T.F. kodunuda aşağıdaki kodla değiştirin.

Kod:
Function hakedis(isegiristarihi, dogumtarihi, zaman_aralıgı, gunun_tarihi)
If isegiristarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
End If
yer3 = CDate(zaman_aralıgı)
yer = Val((zaman_aralıgı - CDate(isegiristarihi)) * 1) + 1
'yer2 = Val((Val((dogumtarihi) * 1) / 365.25))
yer1 = Val(Val(((zaman_aralıgı - CDate(dogumtarihi)) * 1) + 1) / 365.25)
If yer >= 365.25 Then
zaman_aralıgı = Val((yer / 365.25))
Else
zaman_aralıgı = 0
End If

If gunun_tarihi > yer3 Then
If isegiristarihi > 0 Then
 
If zaman_aralıgı <= 0 Then
hakedis = 0
ElseIf zaman_aralıgı >= 1 And zaman_aralıgı <= 5 Then
hakedis = 14
ElseIf zaman_aralıgı >= 6 And zaman_aralıgı <= 14 Then
hakedis = 20
ElseIf zaman_aralıgı >= 15 And zaman_aralıgı <= 65 Then
hakedis = 26
End If
If zaman_aralıgı > 0 Then
If hakedis <= 14 Then
If yer1 <= 18 Then
hakedis = 20
ElseIf yer1 >= 50 Then
hakedis = 20
End If
End If
End If
End If
Else
hakedis = ""
End If

End Function
 
Katılım
16 Ağustos 2008
Mesajlar
71
Excel Vers. ve Dili
Office 365
WİN 11 PRO
A2 hücresine bugünün tarihini yazın
D4 hücresine aşağıdaki kodu yazın
Kod:
=hakedis($B4;$C4;SAYIYAÇEVİR(METNEÇEVİR(METNEÇEVİR($B4;"gg.aa.")&D$3;"gg.aa.yyyy"));$A$2)
K.T.F. kodunuda aşağıdaki kodla değiştirin.

Kod:
Function hakedis(isegiristarihi, dogumtarihi, zaman_aralıgı, gunun_tarihi)
If isegiristarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
End If
yer3 = CDate(zaman_aralıgı)
yer = Val((zaman_aralıgı - CDate(isegiristarihi)) * 1) + 1
'yer2 = Val((Val((dogumtarihi) * 1) / 365.25))
yer1 = Val(Val(((zaman_aralıgı - CDate(dogumtarihi)) * 1) + 1) / 365.25)
If yer >= 365.25 Then
zaman_aralıgı = Val((yer / 365.25))
Else
zaman_aralıgı = 0
End If

If gunun_tarihi > yer3 Then
If isegiristarihi > 0 Then
 
If zaman_aralıgı <= 0 Then
hakedis = 0
ElseIf zaman_aralıgı >= 1 And zaman_aralıgı <= 5 Then
hakedis = 14
ElseIf zaman_aralıgı >= 6 And zaman_aralıgı <= 14 Then
hakedis = 20
ElseIf zaman_aralıgı >= 15 And zaman_aralıgı <= 65 Then
hakedis = 26
End If
If zaman_aralıgı > 0 Then
If hakedis <= 14 Then
If yer1 <= 18 Then
hakedis = 20
ElseIf yer1 >= 50 Then
hakedis = 20
End If
End If
End If
End If
Else
hakedis = ""
End If

End Function
Tek kelime ile harika.Ellerinize sağlık.Allah razı olsun.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,844
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Kodu birazcık sadeleştirdim.

D4 hücresinin formülü
Kod:
=
hakedis($B4;$C4;D$3;$A$2)
K.T.F. Kodu:

Kod:
'Function hakedis(isebaslamatarihi, dogumtarihi, calisilansure, tarih)
Function hakedis(isegiristarihi, dogumtarihi, kontrol_yili, gunun_tarihi)
If isegiristarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
ElseIf kontrol_yili = "" Then
hakedis = ""
Exit Function
ElseIf gunun_tarihi = "" Then
hakedis = ""
Exit Function
End If
zaman_aralıgı = CDate(Format(Format(isegiristarihi, "dd.mm.") & kontrol_yili, "dd.mm.yyyy"))
yer3 = CDate(zaman_aralıgı)
yer = Val((zaman_aralıgı - CDate(isegiristarihi)) * 1) + 1
yer1 = Val(Val(((zaman_aralıgı - CDate(dogumtarihi)) * 1) + 1) / 365.25)
If yer >= 365.25 Then
zaman_aralıgı = Val((yer / 365.25))
Else
zaman_aralıgı = 0
End If
If gunun_tarihi > yer3 Then
If isegiristarihi > 0 Then
If zaman_aralıgı <= 0 Then
hakedis = 0
ElseIf zaman_aralıgı >= 1 And zaman_aralıgı <= 5 Then
hakedis = 14
ElseIf zaman_aralıgı >= 6 And zaman_aralıgı <= 14 Then
hakedis = 20
ElseIf zaman_aralıgı >= 15 And zaman_aralıgı <= 65 Then
hakedis = 26
End If
If zaman_aralıgı > 0 Then
If hakedis <= 14 Then
If yer1 <= 18 Then
hakedis = 20
ElseIf yer1 >= 50 Then
hakedis = 20
End If
End If
End If
End If
Else
hakedis = ""
End If
End Function
 
Üst