Yıllık İzin

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Arkadaşlar EK 'te gönderdiğim çalışmada 18 ve daha küçük yaştakilerle, 50 ve daha büyük yaştakilere verilecek yıllık ücretli izin süresi 20 günden az olamayacaktır şartı dikkate alınarak hesaplamayı sağlayana bir kod var. Örnek çalışmada da görüldüğü gibi 7 yıllık kıdeme sahip birinin yıllık izni 122 gün olması gerekir iken 116 gün hesaplıyor fakat tarihi örneğin 01.09.2014 olarak değiştirir isek 122 gün olarak hesaplıyor. Bunun düzeltilmesi hususunda yardımlarınız bekliyorum.
 

Ekli dosyalar

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Arkadaşlar EK 'te gönderdiğim çalışmada 18 ve daha küçük yaştakilerle, 50 ve daha büyük yaştakilere verilecek yıllık ücretli izin süresi 20 günden az olamayacaktır şartı dikkate alınarak hesaplamayı sağlayana bir kod var. Örnek çalışmada da görüldüğü gibi 7 yıllık kıdeme sahip birinin yıllık izni 122 gün olması gerekir iken 116 gün hesaplıyor fakat tarihi örneğin 01.09.2014 olarak değiştirir isek 122 gün olarak hesaplıyor. Bunun düzeltilmesi hususunda yardımlarınız bekliyorum.
Aşağıdaki linkde benzer sorunuza cevap verilmiş ama geri dönüş yapmadınız.

http://www.excel.web.tr/f50/yyllyk-zin-t142901.html
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Halit Bey öncelikle ilginize çok teşekkür ederim. Bulunduğum yer itibarı ile her zaman internet erişimine sahip olmadığımdan dolayı dönemedim. Bir önceki cevabınıza göre gidersek 7 yıllık kıdeme sahip birinin yıllık izni 122 gün olması gerekir iken bugün itibarı ile 116 gün hesaplıyor fakat tarihi örneğin 01.09.2014 veya 03.09.2014 olarak değiştirirsek 122 gün olarak hesaplıyor. Bunun düzeltilmesi hususunda yardımlarınız bekliyorum.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
bu tabloya bir bak

Kod:
kıdem		tarih		yaş		izin günü	toplam

1		2008		18		14		14
2		2009		19		14		28
3		2010		20		14		42
4		2011		21		14		56
5		2012		22		14		70
6		2013		23		20		90
7		2014		24		20		110
normalde böyle olması gerekir ancak kıdem yılı birinci yılında yani 2008 de 18 yaşında olduğu için 14 yerine 20 olması gerekiyor.


Kod:
kıdem		tarih		yaş		izin günü	toplam

1		2008		18		[COLOR="Red"]20		20[/COLOR]
2		2009		19		14		34
3		2010		20		14		48
4		2011		21		14		62
5		2012		22		14		76
6		2013		23		20		96
7		2014		24		20		116
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Alternatif olarak birde bu kodu deneyin

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 - 1

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
 

iplikci_80

Altın Üye
Katılım
29 Kasım 2007
Mesajlar
1,110
Excel Vers. ve Dili
excel 2007
Altın Üyelik Bitiş Tarihi
07-03-2026
Halit Bey her şey için çok teşekkür ederim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,788
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit Bey her şey için çok teşekkür ederim.
Bu dosyayı iyi irdele kaydırıcı düğmeye her bastığınızda 10 sayı ileri veya geri gidecektir buda günün tarihini tetiklemektedir.

D9,E9,F9 hücrelerindeki değerleri takip et hangisi doğru geliyor.

özellikle A2 hücresindeki tarih 26.06 dan küçükse ve büyükse ayrıca 04.09 dan küçükse ve büyükse olduğunda D9,E9,F9 hücrelerindeki değerleri takip et
 

Ekli dosyalar

Üst