• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Yıllık izin takip formül

  • Konbuyu başlatan Konbuyu başlatan acen007
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Şubat 2008
Mesajlar
28
Excel Vers. ve Dili
excel
Arkadaşlar merhaba elimde aşağıda eklemiş olduğum yıllık izin takip cetveli var fakat formülde yaş dikkate almıyor kanuna göre 50 yaş üzeri yıllık izin vermek gerekiyor bunu formüle nasıl uygulayabiliriz? şimdiden teşekkür ederim.
 

Ekli dosyalar

=ARA(EĞER("yaşı"<50;0;50)+"kıdemi";{1;6;16;51;66};{14;20;26;20;26})
 
Sayın: acen007,

aşağıdaki formülü "U
é hücresine kopyala ve aşağı doğru çek. kolay gelsin.
=ARA(EĞER(T2<50;0;50)+S2;{1;6;16;51;66};{14;20;26;20;26})
 
Ekli dosyada X ve Y sutünundaki formüllere bakın

Not kodlar KTF ile yapıldı

kodlar

Kod:
Function izinbul(isebaslamatarihi, dogumtarihi, tarih)

If isebaslamatarihi = "" Then
izinbul = ""
Exit Function
ElseIf dogumtarihi = "" Then
izinbul = ""
Exit Function
ElseIf tarih = "" Then
izinbul = ""
Exit Function
End If


If IsDate(isebaslamatarihi) = False Then
izinbul = "İşe başlama Tarihi Tarih değil"
Exit Function
ElseIf IsDate(dogumtarihi) = False Then
izinbul = "Doğum Tarihi Tarih değil"
Exit Function
ElseIf IsDate(tarih) = False Then
izinbul = "Günün Tarihi Tarih değil"
Exit Function
End If


tarih = CDate(tarih)
isebaslamatarihi = CDate(isebaslamatarihi)
dogumtarihi = CDate(dogumtarihi)

yıl = 365.25

deg1 = Val(Val(((tarih - dogumtarihi) * 1) + 1) / yıl)
deg2 = Val((tarih - isebaslamatarihi) * 1) + 1
deg3 = Val(deg2 / yıl)
deg4 = deg1 - deg3

say = 0

If deg2 >= yıl Then

    For r = 1 To deg3
  

            If r >= 1 And r <= 5 Then
            izinbul = 14
           
            ElseIf r >= 6 And r <= 14 Then
            
            izinbul = 20
            ElseIf r >= 15 And r <= 65 Then
            izinbul = 26
            End If
         
            If deg4 + r <= 18 Then
            izinbul = 20
          
            ElseIf deg4 + r >= 50 Then
             
            If izinbul < 20 Then
            izinbul = 20
            Else
            End If
            End If
            
  
    say = say + CDbl(izinbul)
   
   
    Next r

izinbul = say
Else
izinbul = 0
End If

End Function

Kod:
Function hakedis(isebaslamatarihi, dogumtarihi, tarih)


If isebaslamatarihi = "" Then
hakedis = ""
Exit Function
ElseIf dogumtarihi = "" Then
hakedis = ""
Exit Function
ElseIf tarih = "" Then
hakedis = ""
Exit Function
End If


If IsDate(isebaslamatarihi) = False Then
hakedis = "İşe başlama Tarihi Tarih değil"
Exit Function
ElseIf IsDate(dogumtarihi) = False Then
hakedis = "Doğum Tarihi Tarih değil"
Exit Function
ElseIf IsDate(tarih) = False Then
hakedis = "Günün Tarihi Tarih değil"
Exit Function
End If

yıl = 365.25

deg1 = Val(Val(((tarih - dogumtarihi) * 1) + 1) / yıl)
deg2 = Val((tarih - isebaslamatarihi) * 1) + 1


If deg2 >= yıl Then
tarih = Val((deg2 / yıl))
Else
tarih = 0
End If


If isebaslamatarihi > 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 deg1 <= 18 Then
hakedis = 20
ElseIf deg1 >= 50 Then
If hakedis < 20 Then
hakedis = 20
End If

End If
End If
End If
End If


End Function
 

Ekli dosyalar

Geri
Üst