Excelde İki Tarih Farkını Yıl Ay Gün Olarak Hesaplama
Excel de kıdem yılı, yaş veya başka bir nedenle iki tarih arasındaki farkı yıl, ay, gün biçiminde hesaplamak gerekebilir. Örnek olarak "1 Yıl 8 Ay 15 Gün" formatında sonuç elde edilmek istenebilir. Böyle bir ihtiyaç sürekli gerekli olursa her defasında karmaşık formül yazmak yerine kullanıcı tanımlı bir fonksiyon hazırlamak çok daha kullanışlı olabilir.
Aşağıda hazırlanan kullanıcı tanımlı fonksiyon iki adet tarih türünde parametre almakta olup, yıl,ay,gün olarak metin türünde bir sonuç dönmektedir.
Fonksiyonun kullanılışı :
=YilAyGun("01.01.2021";"01.01.2022")
veya aşağıdaki gibi tarih hücreleri parametre olarak verilir.
=YilAyGun(A1;B1)
Sonuç: 1 Yıl 0 Ay 0 Gün
Function YilAyGun(Tarih1 As Date, Tarih2 As Date) As String
Dim Gun, Ay, Yil, Gunal, Ayal, Yil1, Ay1, Ay2
Dim Yil2, Gun1, Gun2 As Integer
Yil1 = Year(Tarih1)
Yil2 = Year(Tarih2)
Ay1 = Month(Tarih1)
Ay2 = Month(Tarih2)
Gun1 = Day(Tarih1)
Gun2 = Day(Tarih2)
If Tarih2 >= Tarih1 Then
If Gun2 >= Gun1 Then
Gun = Gun2 - Gun1
Else
Gun = (Gun2 + 30) - Gun1
Gunal = 1
End If
If (Ay2 - IsNull(Gunal)) >= Ay1 Then
Ay = Ay2 - Ay1
Else
Ay = (Ay2 + 12) - (Ay1 + Gunal)
Ayal = 1
End If
If (Yil2 - IsNull(Ayal)) >= Yil1 Then
Yil = Yil2 - Yil1 - Ayal
Else
Yil = Yil2 - Yil1
End If
End If
YilAyGun = CStr(Yil) & " Yıl " & CStr(Ay) & " Ay " & CStr(Gun) & " Gün"
End Function