Excel'de yaş ve hizmet süresi hesaplama: Hatasız kesin formüller
Excel'de tam yılları (yaş) hesaplamak için =DATEDIF(başlangıç_tarihi; bitiş_tarihi; "Y") fonksiyonunu kullanın. Şu anki durumu hesaplamak için ikinci argüman olarak TODAY() işlevini yerleştirin. Bu formül, artık yılları otomatik olarak dikkate alır ve yalnızca geçen tam yıl sayısını döndürerek mevcut tamamlanmamış yılı yok sayar.
Neden basit tarih çıkarma işlemi uygun değildir
Yeni başlayanlar genellikle bir tarihi diğerinden çıkarıp (=B2-A2) sonucu 365'e bölmeye çalışır. Bu yöntem yanlıştır çünkü artık yılları (366 gün) dikkate almaz, bu da yaş veya çalışma kıdemi hesaplamalarında hataya yol açar.
Yerleşik DATEDIF fonksiyonu (İngilizce Date Difference kelimesinden türetilmiştir) özellikle bu tür görevler için oluşturulmuştur. Yeni Excel sürümlerinde ipucu listesinde gizli olmasına rağmen, zaman dilimleriyle çalışmak için en güvenilir araç olmaya devam etmektedir.
Yazım formatı: Excel'in Türkçe sürümünde argüman ayırıcı olarak noktalı virgül (;) kullanılır. İngilizce sürümde ise virgül (,) kullanılır.
Bugün için kesin yaş hesaplama
En yaygın senaryo, bugünün tarihi itibarıyla doğum tarihine göre bir kişinin yaşının belirlenmesidir.
Formül:
=DATEDIF(A2; TODAY(); "Y")
Burada:
A2— doğum tarihinin bulunduğu hücre.TODAY()— bugünün tarihini döndüren fonksiyon (dosya her açıldığında otomatik olarak güncellenir)."Y"— sonucun tam yıl (Years) cinsinden gerektiğini belirten parametre.
Örnek:
Doğum tarihi 15.07.1990 ve bugün 11.04.2026 ise, formül 35 değerini döndürür. Tam 36 yaş ancak Temmuz ayında doldurulacaktır.
İki tarih arasındaki hizmet süresi veya farkın hesaplanması
Bir sözleşmenin geçerlilik süresini, çalışma kıdemini veya iki tarihi olay arasındaki süreyi hesaplamak gerekiyorsa, TODAY() yerine belirli bir bitiş tarihi yerleştirilir.
Formül:
=DATEDIF(A2; B2; "Y")
Burada B2 — dönemin bitiş tarihidir.
Tarih sırası önemlidir: Başlangıç tarihi her zaman ilk sırada olmalıdır. Bitiş tarihi başlangıç tarihinden önceyse, fonksiyon #NUM! hatası verir.
Aylar ve günlere kadar detaylandırma
Çoğu zaman sadece yılları değil, aylardaki veya günlerdeki kalanı da bilmek gerekir (örneğin, hastalık izni veya yıllık izinlerin kesin hesaplanması için). Bunun amacıyla, farklı ölçü birimi kodlarıyla fonksiyonun birkaç çağrısını birleştiririz:
| Birim Kodu | Açıklama | Kullanım Örneği |
|---|---|---|
| "Y" | Tam yıllar | DATEDIF(A2;B2;"Y") |
| "YM" | Yıllar dikkate alınmadan tam aylar | DATEDIF(A2;B2;"YM") |
| "MD" | Yıllar ve aylar dikkate alınmadan tam günler | DATEDIF(A2;B2;"MD") |
Güzel görüntü için formül ("35 yıl, 8 ay, 27 gün"):
=DATEDIF(A2; B2; "Y") & " yıl, " & DATEDIF(A2; B2; "YM") & " ay, " & DATEDIF(A2; B2; "MD") & " gün"
& işareti sayısal sonuçları metinle birleştirir.
Alternatif yöntem: YEARFRAC fonksiyonu
Tam yıl sayısı yerine ondalık bir değer gerekirse (örneğin, finansal faiz hesaplamaları için), YEARFRAC fonksiyonunu kullanın.
Formül:
=YEARFRAC(A2; B2; 1)
Üçüncü argüman 1, yıldaki gerçek gün sayısını (artık yılların dikkate alınması) belirtir. Sonuç 35.75 gibi görünecektir. Tam sayı elde etmek için formülü INT içine alın:
=INT(YEARFRAC(A2; B2; 1))
Ancak personel kayıtları ve pasaport işlemleri için DATEDIF yöntemi tercih edilir, çünkü insan mantığına daha uygundur (tam dönemleri sayar).
Sık yapılan hatalar ve çözümleri
-
#AD? (#NAME?) Hatası
- Neden: Fonksiyon adında yazım hatası veya Türkçe Excel'de İngilizce fonksiyon sürümünün kullanılması (veya tam tersi).
- Çözüm:
DATEDIFyazımını kontrol edin (çok eski yerelleştirilmiş sürümlerdeРАЗНДАТolabilir, ancakDATEDIFdaha evrenseldir).
-
Tarih metin olarak algılanıyor
- Neden: Hücre "Metin" olarak biçimlendirildiği için Excel matematiksel işlemi gerçekleştiremiyor.
- Çözüm: Tarihleri içeren sütunu seçin, Veri sekmesine gidin → Sütunlara Dönüştür → İleri → İleri → Tarih (GYA) formatını seçin → Son.
-
Negatif sonuç veya #SAYI! hatası
- Neden: Bitiş tarihi başlangıç tarihinden küçük.
- Çözüm: Kontrol kullanın:
=EĞER(B2<A2; "Hata"; DATEDIF(A2; B2; "Y")).
SSS
Yaşı gün cinsinden hesaplayabilir miyim?
Evet, "D" kodunu kullanın: =DATEDIF(A2; TODAY(); "D"). Bu, toplam yaşam gün sayısını döndürür.
Bu Excel for Mac'te çalışır mı?
Evet, DATEDIF fonksiyonu macOS, Windows ve Office 365 web sürümlerinde tamamen desteklenmektedir.
Doğum tarihi hücresi boşsa yaş nasıl hesaplanır?
Sütundaki hatalardan kaçınmak için bir koşul ekleyin:
=EĞER(A2=""; ""; DATEDIF(A2; TODAY(); "Y")). Formül, tarih girilene kadar boş bir hücre döndürür.