Excel'de doğum tarihinden yıl, ay ve gün cinsinden yaşı nasıl hesaplarım?
İnsan kaynakları yönetimi, sağlık kayıtları, öğrenci veritabanları veya üyelik sistemleri gibi birçok pratik senaryoda, bireylerin doğum tarihlerine dayalı olarak yıl, ay ve gün cinsinden kesin yaşlarını doğru şekilde hesaplamak büyük önem taşır. Excel’de doğum tarihlerinin bir listesi varsa, her kişinin yaşını ya yıl/ay/gün formatında ayrıntılı olarak ya da ondalık veya tam sayı şeklinde hızlıca belirlemeniz gerekebilir. Bu işlem, uygunluk kontrolleri, politika uygulamaları ve kilometre taşı takibi gibi görevlerde veri doğruluğunu artırır. Bu makalede, Excel’de bu yaş hesaplamalarını verimli bir şekilde gerçekleştirmeniz için çeşitli yöntemler bulacaksınız.
İçindekiler
Doğum tarihi'den yıl, ay ve gün cinsinden yaşı hesaplayın
Doğum tarihi'den ondalık sayı olarak yaşı hesaplayın
Doğum tarihi'den tam sayı olarak yaşı hesaplayın ![]()
VBA Kodu – Özel makrolarla büyük veri kümelerinde yaş hesaplamasını otomatikleştirin
Diğer Yerleşik Excel Yöntemleri – Power Query kullanarak veriyi dönüştürerek yaşı hesaplayın
Doğum tarihi'den yıl, ay ve gün cinsinden yaşı hesaplayın
Yaşı ayrıntılı biçimde hesaplamanın ve raporlama ile uygunluk kararlarında yaygın olarak kullanılan bir yolu, Doğum tarihi ile and a specific reference date (often today's date) arasındaki yıl, ay ve gün sayısını döndüren bir formüldür. Bu yöntem, yıl dönümleri, kayıt gereksinimleri veya fayda hesaplamaları gibi sürenin tam olarak kritik olduğu senaryolar için son derece uygundur.
Yaş sonucunun görünmesini istediğiniz hücreyi seçin, ardından şu formülü girin:
=DATEDIF(A2,$F$2,"Y")&" Yıl, "&DATEDIF(A2,$F$2,"YM")&" Ay, "&DATEDIF(A2,$F$2,"MD")&" Gün"
Formülü girdikten sonra Enter tuşuna basın. Ardından, formülü diğer satırlara doldurmak için Excel’in Otomatik Doldurma tutamacını aşağıya sürükleyebilirsiniz.
Bu formülde, A2, doğum tarihinin bulunduğu hücreye işaret eder ve F2, referans tarihini (örneğin bugünün tarihini) içerir. Bu yapı, tam bir ayrıştırma sağlar; ancak her iki hücrenin de tarih olarak biçimlendirildiğinden emin olun. Eğer #SAYI! hatası alırsanız, bu doğum tarihinin referans tarihinden sonra olduğunu gösterebilir; bu yüzden girdilerinizi tekrar kontrol edin.
Doğum tarihi'den ondalık sayı olarak yaşı hesaplayın
İstatistiksel raporlarda, hızlı yaş gruplamaları veya uygunluk eşikleri gibi durumlarda yaşı ondalık olarak sunmanız gerekiyorsa, kompakt bir formül idealdir. Bu yaklaşım, verileri analiz etmeyi veya filtrelemeyi kolaylaştıran “24,11” gibi ondalık yaş değerleri sağlar.
Ondalık yaşın gösterilmesini istediğiniz hücreyi seçin, ardından aşağıdaki formülü girin:
=DATEDIF(A2,$F$2,"Y")&"."&DATEDIF(A2,$F$2,"YM")
Formülü onaylamak için Enter tuşuna basın ve diğer satırlara otomatik olarak uygulamak için doldurma tutamacını aşağı sürükleyin.
Önceki yöntemde olduğu gibi, A2 doğum tarihinizdir ve F2 mevcut veya referans tarihi olarak ayarlanmalıdır. Tarih hücrelerinin doğru biçimlendirildiğinden emin olun. Bu yöntem, sayısal verilerle çalışmayı kolaylaştıran basit bir yaklaşımdır; ancak günleri hesaba katmaz—bu düzeyde ayrıntıya ihtiyacınız varsa bunun yerine tam ayrıştırma yöntemini kullanın.
Doğum tarihi'den tam sayı olarak yaşı hesaplayın
Amacınız yaş için tam bir sayı elde etmekse—ki bu, eğitim uygunlukları, sigorta veya erişim kontrolü gibi durumlar için genellikle yeterli ve yaygın olarak gereklidir—Kutools for Excel, manuel olarak karmaşık formüller girmek zorunluluğundan kurtaran özel “Doğum Tarihine Dayanarak Yaş Hesapla” işleviyle süreci büyük ölçüde kolaylaştırır. Özellikle uzun listeler üzerinde çalışırken ya da bu hesabı sık sık tekrarlarken son derece kullanışlıdır.
Kutools for Excel'ı ücretsiz yükledikten sonra aşağıdaki adımları izleyin:
1. Yaşın hesaplanmasını istediğiniz hücreyi seçin, ardından Kutools > Formül Yardımcısı > Formül Yardımcısı öğesine tıklayın.
2. Formül Yardımcısı iletişim kutusunda, Bir formül seçin bölümünden Doğum tarihine dayanarak yaş hesapla seçeneğini seçin. Ardından, Tarih metin kutusuna doğum tarihinin bulunduğu hücreyi girin ve Tamam’a tıklayın.
3. Yaşınız artık tam sayı olarak hesaplanacak; diğer hücrelere uygulamak için gerektiğinde doldurma tutamacını aşağı sürükleyin. Bu yaklaşım, manuel giriş hatalarını önler ve tekrarlayan yaş hesaplama işlemlerini kolaylaştırır.
İpucu: Zaman ilerledikçe yaşın otomatik olarak güncellenmesini istiyorsanız, Excel’de referans tarihinin =TODAY() olarak ayarlandığından emin olun.
VBA Kodu – Özel makrolarla büyük veri kümelerinde yaş hesaplamasını otomatikleştirin
Binlerce kaydı işlerken ve her biri için yaşı yıl, ay ve gün cinsinden hesaplamanız gerektiğinde formülleri elle sürüklemek oldukça zaman alıcı hale gelebilir. Bir VBA makrosu, tüm sütundaki yaş hesaplamalarını otomatikleştirerek sizi tekrarlı işlemlerden kurtarır ve doğum tarihlerinizin listesi ne kadar sık değişirse değişsin tutarlılığı garanti eder. Bu yöntem, kodla rahatça çalışan ileri düzey kullanıcılar veya toplu veri güncellemelerini yönetenler için en ideal çözümdür.
1. Microsoft Visual Basic for Applications penceresini açmak için Geliştirici > Visual Basic öğesine tıklayın. Ardından, aşağıdaki kodu modüle girmek için Ekle > Modül seçeneğine tıklayın:
Function AgeYMD(ByVal dob As Date, ByVal refDate As Date) As String
'Updated by Extendoffice 20250902
Dim y As Long, m As Long, d As Long
Dim t As Date
If Not IsDate(dob) Or Not IsDate(refDate) Or refDate < dob Then
AgeYMD = "Invalid date"
Exit Function
End If
' Years
y = Year(refDate) - Year(dob)
If DateSerial(Year(refDate), Month(dob), Day(dob)) > refDate Then y = y - 1
' Move dob forward by y years
t = DateAdd("yyyy", y, dob)
' Months
m = DateDiff("m", t, refDate)
If DateAdd("m", m, t) > refDate Then m = m - 1
' Move temp forward by m months
t = DateAdd("m", m, t)
' Days (now always >= 0)
d = refDate - t
AgeYMD = y & " Years, " & m & " Months, " & d & " Days"
End Function
Sub CalculateAgesAllRows()
Dim ws As Worksheet, lastRow As Long, birthCell As Range, resultCell As Range
Dim refDate As Date, xTitleId As String
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
' Example prompt; default is today. Make sure you enter a valid date (e.g., 2025-09-02)
refDate = Application.InputBox("Enter reference date (e.g., 2025-09-02)", _
xTitleId, Date, Type:=1)
For Each birthCell In ws.Range("A2:A" & lastRow)
Set resultCell = ws.Cells(birthCell.Row, "B")
If IsDate(birthCell.Value) Then
resultCell.Value = AgeYMD(CDate(birthCell.Value), refDate)
Else
resultCell.Value = "Invalid date"
End If
Next birthCell
End Sub 2.
Çalıştır düğmesine tıklayarak makroyu çalıştırın. Ardından bir referans tarih (örneğin bugünün tarihi) girmeniz istenecektir. Makro, her satırdaki Doğum tarihinin yanındaki B sütununa hesaplanan yaşı yazacaktır.
İpuçları: A sütununun geçerli tarihler içerdiğinden ve ilk satırın başlık (A2'den itibaren) olduğundan emin olun. Sonuçlar "Geçersiz tarih" olarak gösteriliyorsa, kaynak sütununuzdaki biçimlendirmeyi kontrol edin.
Bu VBA otomasyonu, büyük veya düzenli olarak güncellenen veri kümelerinde verimlilik sağlar; ancak makro destekli dosyalar ve Güven Merkezi ayarlarının doğru yapılandırılması gerekir. Kod kullanmak istemiyorsanız, Power Query'yi kod gerektirmeyen bir alternatif olarak düşünün.
Diğer Yerleşik Excel Yöntemleri – Power Query kullanarak veriyi dönüştürerek yaşı hesaplayın
Power Query, Excel'in modern arayüzünde doğrudan yaş hesaplaması için kullanıcı dostu, kod gerektirmeyen bir yaklaşım sunar. Doğum tarihlerinizin tablosunu Power Query'ye yükleyerek, formül veya manuel kopyalama olmadan yaşları yıl, ay ve gün cinsinden hesaplayan özel bir sütun ekleyebilirsiniz. Bu yöntem, içe aktarılan verilerle çalışan veya dönüşümleri ve yenileme hesaplamalarını düzenli olarak yapan kullanıcılar için şiddetle önerilir.
İşlem Adımları:
1. Doğum tarihlerinizin bulunduğu tabloyu seçin, ardından verilerinizi Power Query'ye yüklemek için Veri > Tablodan/Araklıktan seçeneğine gidin.
2. Power Query düzenleyicisinde Sütun Ekle > Özel Sütun seçeneğine tıklayın.
3. Yıl cinsinden yaşı hesaplamak için formül kutusuna aşağıdaki M kodunu girin:
Date.Year(DateTime.LocalNow()) - Date.Year([DateOfBirth]) DateOfBirth ifadesini gerektiğinde sütun başlığınızla değiştirin.

Daha ayrıntılı bir ayrıştırma yapmak için(yıl, ay ve gün), şunu kullanarak ayrı sütunlar ekleyebilirsiniz:
let
Today = Date.From(DateTime.LocalNow()),
Birth = Date.From([Birthday]), Years = Date.Year(Today) - Date.Year(Birth) -
(if Date.AddYears(Birth, Date.Year(Today)-Date.Year(Birth)) > Today then 1 else 0),
AnchorY = Date.AddYears(Birth, Years),
mDiff = (Date.Year(Today)-Date.Year(AnchorY))*12 + (Date.Month(Today)-Date.Month(AnchorY)),
Months = if Date.AddMonths(AnchorY, mDiff) > Today then mDiff-1 else mDiff,
AnchorM = Date.AddMonths(AnchorY, Months),
Days = Duration.Days(Today - AnchorM)
in
Text.From(Years) & " years " & Text.From(Months) & " months " & Text.From(Days) & " days"

4. Tamam'a tıklayın. Bu yaklaşım, kullandığınız koda bağlı olarak yaş ya da yıl/ay/gün sütunlarını oluşturur.
4. Ardından, dönüştürülmüş verileri çalışma sayfanıza geri getirmek için Kapat ve Yükle seçeneğine tıklayın.
Notlar ve Sorun Giderme:
- Power Query, büyük veri kümelerini verimli şekilde işler ve yenilediğinizde otomatik olarak yeniden hesaplar.
- Doğum tarihi sütununuz geçersiz veya boş girişler içeriyorsa, özel sütunlar oluşturmadan önce veri temizliğini doğrulayın.
- Sütun adlarını gözden geçirin ve formüllerin bu adlara göre doğru şekilde ayarlandığından emin olun.
Power Query, Excel formülleri veya makrolar yazmadan dinamik ve yeniden kullanılabilir bir çözüm arayan kullanıcılar için idealdir. Ancak, 2016 sürümünden daha eski Excel sürümlerinde veya Excel Çevrimiçi'de (özellik setine bağlı olarak) kullanılamayabilir.
Sorun Giderme ve Öneriler:
Hangi yaş hesaplama yöntemini seçerseniz seçin, kaynak hücrelerinizin **Tarih** olarak biçimlendirildiğinden her zaman emin olun. Beklenmeyen sonuçlarla karşılaşırsanız —örneğin negatif yaşlar veya hata değerleri gibi— formül mantığınızı tekrar gözden geçirin. Formüllerde sabit başvuru tarihleri zaman içinde güncellenmez; bu nedenle yaşların güncel kalması için =TODAY() fonksiyonunu kullanın. VBA ve Power Query çözümleri ise daha gelişmiş, büyük ölçekli veya düzenli olarak yenilenen raporlar için idealdir. İş akışınız için en etkili yaklaşımı belirlemek adına ihtiyaçlarınızı dikkatlice değerlendirin. Makroları veya kapsamlı dönüştürmeleri uygulamadan önce dosyanızı mutlaka kaydedin ve veri kaybını ya da istenmeyen değişiklikleri önlemek için bir yedek almayı unutmayın.
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile güçlendirin ve hiç yaşanmamış bir verimlilik deneyimi yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…
Office Tab, Office uygulamalarına sekmeli arayüz getirir ve işinizi çok daha kolay hale getirir
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project’te sekmeli düzenleme ve okumayı etkinleştirin.
- Birden fazla belgeyi aynı pencerenin yeni sekmelerinde açın ve oluşturun, yeni pencerelerde değil.
- Günlük üretkenliğinizi %50 artırır ve size her gün yüzlerce fare tıklamasından tasarruf sağlar!
Tüm Kutools eklentileri, tek bir yükleyiciyle!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint için eklentilerin yanı sıra Office Tab Pro’yu da içerir; böylece Office uygulamalarında çalışan ekipler için ideal bir çözümdür.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek yükleyici, tek lisans— birkaç dakikada kurulum (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamaları arasında akıcı üretkenlik
- 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
- En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar