Sayın excelcan hocam buyrun alttaki gibi kurallar. Buna göre olucak ama dediğim gibi biryıldan 5 yıla kadar 14 gün gibi kurallar çalışıyor sadece yaş kuralı çalışmıyor başka sıkıntı yok
b(say, 10) = Evaluate("=DATEDIF(" & CLng(a(i, 9)) & "," & CLng(bg) & ",""Y"")")
'burada yaş hesaplamışsınız. 10 sütuna yazılacağı için kalacak.
'Aşağıda bu yaş değişkenini kullanmışsınız. Sabit. O yüzden hata alıyorsunuz.
'sayi1 değişkenini b(say, 10) a eşitlemişsiniz.
'Oysa 1995 den 20024 e geldikce her tarihte yaşı yeniden hesaplamanız gerekiyor.
'Bu noktayı atlamışsınız. 1972 doğumlu personel 1995 de 23 yaşında olur. 2010 da 38 yaşında olur. vs.
'Aynı zamanda işe giriş tarihi de dikkate alınacak. 2019 dan önce işe giren bir personel için
'1995-2018 arası tarihlerde çalışma zamanı hep eksi değer verir. Dolayısıyla bu aralıkta yaş değişkeninin de bir önemi yok.
'O zaman her bir sütunda o sütundaki tarihe göre oluşan yaşa göre ve çalışma zamanına göre değerlendirme olmalı.
sayi1 değişkenini aşağıdaki gibi düzeltirseniz sıkıntı kalmaz.
sayi1 = DateDiff("YYYY", CDate(a(i, 9)), CDate(trh))