Excel'de Yaş Hesaplama: Yıllar, Aylar ve Günler İçin Kesin Formüller

Kerem Aydın·13 Temmuz 2026·⏱4 dk

Doğum tarihine göre bir kişinin tam yaşını hızlıca hesaplamak için =RAZNDAT(A2; BUGÜN(); "y") formülünü kullanın; burada A2 hücresinde doğum tarihi belirtilmiştir. Bu işlev, karmaşık hesaplamalar olmadan doğru sonuç vererek artık yılları ve mevcut tarihi otomatik olarak dikkate alır.

Yaş hesaplamak, çalışan, müşteri veya öğrenci veritabanlarıyla çalışırken en sık karşılaşılan görevlerden biridir. Tarihlerin basitçe çıkarılmasından farklı olarak, doğru hesaplama mevcut yılda doğum gününün gelip gelmediğinin dikkate alınmasını gerektirir. Aşağıda, basit yıl sayısından aylar ve günler cinsinden detaylı hesaplamaya kadar farklı senaryolar için hazır çözümler sunulmaktadır.

Temel Hesaplama: RAZNDAT İşlevi ile Tam Yıllar

Yıl cinsinden yaş elde etmenin en güvenilir ve en kolay yolu, gizli ancak tamamen çalışan RAZNDAT işlevini (İngilizce sürümünde DATEDIF) kullanmaktır. Bu işlev, iki tarih arasındaki farkı çeşitli ölçü birimlerinde hesaplamak için özel olarak tasarlanmıştır.

Formül:

=RAZNDAT(A2; BUGÜN(); "y")

Burada:

  • A2 — doğum tarihinin bulunduğu hücre.
  • BUGÜN() — mevcut tarihi döndüren işlev (dosya açıldığında otomatik olarak güncellenir).
  • "y" — sonucun tam yıl cinsinden gerekli olduğunu belirten argüman.

RAZNDAT işlevi, Excel'in yeni sürümlerinde formül girerken ipucu listesinde görünmez, ancak doğru çalışır. Sadece adını manuel olarak yazın.

Neden tarihleri sadece çıkarmamalısınız? =(BUGÜN()-A2)/365 formülünü kullanırsanız, artık yıllar nedeniyle sonuç yanlış olacaktır. RAZNDAT işlevi takvim mantığını dikkate alır: Eğer doğum günü bu yıl henüz gelmediyse, yaş artmaz.

Detaylı Hesaplama: Yıllar, Aylar ve Günler

Bazen yaşı daha kesin belirtmek gerekir, örneğin tıbbi kayıtlar veya çocuk anketleri için ("5 yıl 3 ay"). Bunun için farklı argümanlarla işlevin birkaç çağrısının sonuçlarını toplamak gerekir.

Tam açıklama için formül:

=RAZNDAT(A2; BUGÜN(); "y") & " y. " & RAZNDAT(A2; BUGÜN(); "m") - RAZNDAT(A2; BUGÜN(); "y")*12 & " ay"

Çalışma mantığı:

  1. İlk kısım tam yılları sayar.
  2. İkinci kısım tarihler arasındaki toplam ay sayısını hesaplar, bunlardan yılları (aya çevrilmiş) çıkarır ve kalan ayları bulur.

Günler de gerekiyorsa, formül daha karmaşık hale gelir çünkü toplam gün sayısından tam ayların çıkarılması gerekir. Metin açıklaması içeren daha okunabilir bir varyant:

=RAZNDAT(A2; BUGÜN(); "y") & " yıl, " & RAZNDAT(A2; BUGÜN(); "m") - RAZNDAT(A2; BUGÜN(); "y")*12 & " ay, " & RAZNDAT(A2; BUGÜN(); "d") & " gün"

"d" argümanı, tam aylar ve yıllar dikkate alınmadan gün sayısını döndürür.

Alternatif Yöntem: Çıkarma ve Biçimlendirme

Eğer RAZNDAT işlevi herhangi bir nedenle kullanılamıyorsa (örneğin çok eski yazılım sürümlerinde veya özel hesap makinelerinde), matematiksel çıkarma kullanılabilir.

Formül:

=TAMSAYI((BUGÜN()-A2)/365,25)

Burada gün cinsinden farkı ortalama yıl gün sayısına (artık yıllar dikkate alınarak 365,25) bölüyor ve TAMSAYI işlevi ile aşağı yuvarlıyoruz. Bu yöntem son derece nadiren 1 yıllık hata verir (genellikle yüzyıl geçişlerinde veya özel tarihlerde), ancak çoğu iş görevi için kabul edilebilirdir.

Çıkarma yöntemini kullanırken, doğum tarihi içeren hücrenin gerçekten tarih içerdiğinden, metin olmadığından emin olun. Tarih metin olarak yazılmışsa (sola dayalı hizalama), formül #DEĞER! hatası döndürür.

Yaş Hesaplama Yöntemlerinin Karşılaştırılması

YöntemFormülDoğrulukNe Zaman Kullanılır
Standart=RAZNDAT(A2;BUGÜN();"y")YüksekRaporlar, insan kaynakları, veritabanları
Detaylı"y", "m", "d" kombinasyonuMaksimumTıbbi kayıtlar, kreşler
Matematiksel=TAMSAYI((BUGÜN()-A2)/365,25)OrtaHızlı tahminler, eski dosyalar
Basit çıkarma=(BUGÜN()-A2)/365DüşükÖnerilmez

Büyük Tablolar İçin Otomasyon

Yüzlerce çalışan listesıyla çalışırken formülleri manuel girmek verimsizdir. Çalışmayı hızlandırmak için aşağıdaki teknikleri kullanın:

  1. Otomatik Doldurma: Formülü ilk hücreye girin (örneğin B2), ardından imleci hücrenin sağ alt köşesine getirin (siyah bir artı işareti görünecektir) ve çift tıklayın. Formül, A sütunundaki dolu listenin sonuna kadar aşağı kopyalanır.
  2. Kontrol Tarihinin Sabitlenmesi: Yaşı bugün için değil, belirli bir tarih için (örneğin işe alım tarihinde) hesaplamak istiyorsanız, BUGÜN() yerine o tarihi içeren hücreye referans verin veya tarihi tırnak içinde yazın: =RAZNDAT(A2; "01.09.2025"; "y").
  3. Koşullu Biçimlendirme: Reşit olanları veya emeklileri vurgulamak için "Giriş" → "Koşullu Biçimlendirme" → "Hücre Kuralları Vurgula" → "Şundan Büyük" seçeneklerini kullanın (örneğin 18 veya 60).

Sık Yapılan Hatalar

  • DATEDIF kullanırken #AD? hatası. Excel'in Rusça sürümünde işlev RAZNDAT olarak adlandırılır. Arayüzünüz İngilizce yerel ayara sahipse, DATEDIF kullanın. Argümanlar da farklılık gösterebilir ("y" yerine "y").
  • 01.01.1900 sonucu. Bu, sonuç hücresinin biçiminin "Tarih" olarak ayarlandığı anlamına gelir. Yıl sayısını görmek için biçimi "Genel" veya "Sayı" olarak değiştirin.
  • Negatif yaş. Doğum tarihinin mevcut tarihten büyük olmadığını kontrol edin. Ayrıca, bir yazım hatası nedeniyle hücrede gelecekteki bir yıl olabilir.
  • Tarih yerine metin. Tarih başka bir sistemden aktarıldıysa, metin olabilir. Dönüştürme için TARİHSAYI işlevini veya "Metni Sütunlara Dönüştür" aracını kullanın.

SSS

Geçmişte belirli bir tarih için yaş nasıl hesaplanır? BUGÜN() işlevini istenen tarihle değiştirin. Örneğin: =RAZNDAT(A2; "31.12.2020"; "y") kişinin 2020 yılı sonundaki yaşını gösterir.

Yaş tam aylar cinsinden hesaplanabilir mi? Evet, işlevin üçüncü argümanını "m" olarak değiştirin: =RAZNDAT(A2; BUGÜN(); "m"). Bu, 2 yaşından küçük çocukların yaşının hesaplanması için kullanışlıdır.

Doğum tarihi hücresi boşsa ne yapılmalı? Formül hata verebilir veya yanlış yaş (kişi 120+ yaşında gibi) verebilir. Formülü bir kontrole sarın: =EĞER(A2=""; ""; RAZNDAT(A2; BUGÜN(); "y")).

Doğum tarihi gelecekteyse negatif değerler nasıl gizlenir? Şu yapıyı kullanın: =EĞER(RAZNDAT(A2; BUGÜN(); "y")<0; "Tarih gelecekte"; RAZNDAT(A2; BUGÜN(); "y")).