Excel’de 1/1/1900 tarihinden önceki bir doğum tarihi için yaşı nasıl hesaplarım?
Excel, 1/1/1900 tarihinden önceki tarihleri doğru şekilde girmenize veya hesaplamanıza izin vermez. Bu nedenle, 1/1/1900 öncesi doğmuş ve ölmüş bir kişinin yaşını hesaplamak istediğinizde Excel genellikle doğru sonucu vermez. Ancak bu makalede, Excel’de 1/1/1900 tarihinden önceki yaş hesaplamalarınızı gerçekleştirmenize yardımcı olacak etkili bir yöntem bulacaksınız.
VBA ile 1/1/1900 tarihinden önceki yaşı hesapla
Kutools for Excel ile doğum gününe göre yaşı hesapla ![]()
VBA ile 1/1/1900 tarihinden önceki yaşı hesapla
Aşağıdaki VBA kodu, 1/1/1900 tarihinden önceki yaşı hızlıca hesaplamanıza yardımcı olur.
1. Boş bir hücre seçin ve kişinin doğum tarihini girin; ardından bugünün tarihini veya kişinin ölüm tarihini girmek için başka bir hücreye tıklayın. Ekran görüntüsüne göz atın:
2. Ardından Alt + F11 tuşlarına basarak Microsoft Visual Basic for Applications penceresini açın.
3. Ekle > Modül seçeneğine tıklayın ve aşağıdaki VBA kodunu yeni Modül penceresine yapıştırın.
VBA: 1/1/1900 tarihinden önceki yaşı hesapla
Public Function AgeFunc(SDate As Variant, EDate As Variant) As Long
'UpdatebyExtendOffice20160429
Dim xSMonth As Integer
Dim xSDay As Integer
Dim xSYear As Integer
Dim xEMonth As Integer
Dim xEDay As Integer
Dim xEYear As Integer
Dim xAge As Integer
If Not GetDate(SDate, xSYear, xSMonth, xSDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
If Not GetDate(EDate, xEYear, xEMonth, xEDay) Then
AgeFunc = "Invalid Date"
Exit Function
End If
xAge = xEYear - xSYear
If xSMonth > xEMonth Then
xAge = xAge - 1
ElseIf xSMonth = xEMonth Then
If xSDay > xEDay Then xAge = xAge - 1
End If
If xAge < 0 Then
AgeFunc = "Invalid Date"
Else
AgeFunc = xAge
End If
End Function
Private Function GetDate(ByVal DateStr As String, Y As Integer, M As Integer, D As Integer) As Boolean
Dim I As Long
Dim K As Long
Y = 0
M = 0
D = 0
GetDate = True
On Error Resume Next
I = InStr(1, DateStr, "/")
M = CLng(Left(DateStr, I - 1))
D = CLng(Mid(DateStr, I + 1, InStr(I + 1, DateStr, "/") - I - 1))
Y = CLng(Right(DateStr, Len(DateStr) - InStrRev(DateStr, "/")))
If M < 1 Or M > 12 Or D < 1 Or D > 31 Or Y < 1 Then
GetDate = False
End If
End Function 4. Boş bir hücre seçin (örneğin C2) ve şu formülü girin: =AgeFunc(A2,B2) (A2 doğum tarihi, B2 ise bitiş tarihidir). Ardından Enter tuşuna basın; yaşı anında alın ve gerektiğinde otomatik doldurma tutamacını sürükleyerek diğer hücrelere uygulayın. Ekran görüntüsüne bakın:
Not: Bu VBA kodu yalnızca aa/gg/yyyy biçimindeki tarihlerle yaş hesaplayabilir; örneğin 6/23/1845.
Kutools for Excel ile doğum gününe göre yaşı hesapla
Doğum günleri normalde 1/1/1900 tarihinden sonra ise, Kutools for Excel’nin Tarih ve Saat Yardımcısı özelliğini kullanarak verilen doğum tarihlerine göre yaşı hızla hesaplayabilirsiniz.
Kutools for Excel eklentisini ücretsiz olarak yükledikten sonra,aşağıdaki adımları izleyin:Kutools for Excel'i kurduktan sonra:
1. Yaş sonucunu görmek istediğiniz boş bir hücre seçin ve Kutools > Formül Yardımcısı > Tarih ve Saat Yardımcısı seçeneğine tıklayın. Ekran görüntüsüne bakın:
2. Ardından Tarih ve Saat Yardımcısı iletişim kutusunda Yaş seçeneğini işaretleyin, ardından Doğum Tarihi metin kutusuna yaşını hesaplamak istediğiniz doğum gününü girin. Varsayılan olarak hücre mutlak başvuru olarak seçilidir; bunu göreli (relative) başvuruya çevirebilirsiniz. Daha sonra Bugün seçeneğini işaretleyin ve açılır listede göstermek istediğiniz sonuç türünü Çıktı sonucu türü kısmından seçin. Ekran görüntüsüne bakın:
3. Formülü uygulamak için Tamam düğmesine tıklayın; yaşın artık gösterildiğini göreceksiniz. İsterseniz, formülü gerektiği kadar çok hücreye uygulamak için otomatik doldurma tutamacını sürükleyebilirsiniz. Ekran görüntüsüne bakın:
En İyi Office Üretkenlik Araçları
Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim 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 bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.
- Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
- Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!
Tüm Kutools eklentileri — tek bir kurulum dosyasında!
Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.
- Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
- Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
- Birlikte daha iyi çalışır— Office uygulamaları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