• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Doğum Tarihini Yaş olarak Yazılması

Katılım
8 Aralık 2005
Mesajlar
93
Excel Vers. ve Dili
Microsoft® Excel 2007 Tr
Merhabalar;
Yaptığım çalışma tablosunda doğum tarihini yaşa çeviren bi fonksiyona ihtiyacım var.

Hücreye 01.01.1976 yazdığımda diğer hücreye kaç yaşına tekabül ettiğini yazmasını istiyorum. örnek a1 : 01.01.1976 a2: 30 şeklinde
+

1 yaşını doldurmamış kişileride aylık şeklinde gösterebilirmiyim. örnek : a1 : 01.01.2006 a2: 7 aylık

teşekkürler
 
Sayın Abdulhey,

Size bir fonksiyon yolluyorum

'*************************************************************
' FUNCTION NAME: Age()
'
' PURPOSE:
' Calculates age in years from a given date to today's date.
'
' INPUT PARAMETERS:
' StartDate: The beginning date (for example, a birth date).
'
' RETURN
' Age in years.

'*************************************************************
Function Age(varBirthDate As Variant) As Integer
Dim varAge As Variant

If IsNull(varBirthDate) Then Age = 0: Exit Function

varAge = DateDiff("yyyy", varBirthDate, Now)
If Date < DateSerial(Year(Now), Month(varBirthDate), _
Day(varBirthDate)) Then
varAge = varAge - 1
End If
Age = CInt(varAge)
End Function

'*************************************************************
' FUNCTION NAME: AgeMonths()
'
' PURPOSE:
' Compliments the Age() function by calculating the number of months
' that have expired since the last month supplied by the given date.
' If the given date is a birthday, the function returns the number of
' months since the last birthday.
'
' INPUT PARAMETERS:
' StartDate: The beginning date (for example, a birthday).
'
' RETURN
' Months since the last birthday.

'*************************************************************
Function AgeMonths(ByVal StartDate As String) As Integer
Dim tAge As Double
tAge = (DateDiff("m", StartDate, Now))
If (DatePart("d", StartDate) > DatePart("d", Now)) Then
tAge = tAge - 1
End If

If tAge < 0 Then
tAge = tAge + 1
End If

AgeMonths = CInt(tAge Mod 12)

End Function
İyi çalışmalar :D
 
Teşekkürler Sayın Modalı;
Kardeş malum acemilik :D Yazdığın fonkisyonu bir kitapta örnek olarak gönderebilirmisin
 
a2 hücresine =bugün() ve b2 hücresine doğum tarihini yazın c2 hücresinede bu formülü yapıştırın =YIL(($A$2-B2+1))-1900&" YIL " &AY(($A$2-B2+1))-1&" AY " &GÜN(($A$2-B2+1)) &" GÜN" sanırım istediğiniz olcakatır.
 
Örneği de ekliyorum.

İyi çalışmalar :hey:
 
Merhaba;
Aşağıdaki b1 hücresine =Age(a1) yazdığımda a1 hücresi dolu ise sonuç veriyor. Ama a1 hücresi boş işe b1 hücresine 106 ve c1 hücersine değer yazıyor. formül olduğunda. Formülü temizleyince de tekar hesaplama yapmıyor. aynı şekilde =YIL((D18-E18+1))-1900&" " &AY((D18-E18+1))-1&" AY " &GÜN((D18-E18+1)) &" GÜN" <<örnek>> bu formülde de aynı sonuç çıkıyor. a1 hücresi dolu ise b1 hücresine işlem yapan, a1 boşsa b1 ve c1 de işlem yapmayan bi fonksiyon yada makro varmı ?


a1 b1 c1

DOĞUM TARİHİ YAŞI AY
01.01.1976 30 7
bu sütün boş 106 #DEĞER!
tarih yok 106 #DEĞER!
106 #DEĞER!
106 #DEĞER!
106 #DEĞER!
 
Selamlar,

Ekteki dosyayı incelermisiniz.

Edit : Bulunduğumuz yıldan büyük bir yıl girilirse hücre boş görünecektir.
 
Geri
Üst