Hur beräknar man ålder före 1/1/1900 i Excel?
I Excel kan datumet före 1/1/1900 inte anges och beräknas korrekt. Om du vill beräkna åldern för en person som föddes och dog före 1/1/1900, skulle det generellt inte få rätt beräkning i Excel. Men här i den här artikeln kan ett trick hjälpa dig att beräkna åldern före 1/1/1900 i Excel.
Beräkna ålder före 1/1/1900 med VBA
Beräkna ålder efter födelsedag med Kutools för Excel
Beräkna ålder före 1/1/1900 med VBA
Här är en VBA-kod som kan hjälpa dig att snabbt beräkna åldern före 1/1/1900.
1. Välj en tom cell och ange personens födelsedag och välj sedan en annan cell för att ange datumet för idag, eller datumet för personens död som du behöver. Se skärmdump:
2. Tryck sedan på Alt + F11 för att aktivera Microsoft Visual Basic för applikationer fönster.
3. klick Insert > Modulerna, klistra in under VBA till det nya Modulerna fönster.
VBA: Beräkna ålder före 1/1/1900
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. Välj en tom cell, här är C2 och ange denna formel = AgeFunc (A2, B2) (A2 är födelsedag och B2 är slutdatum) och tryck på ange för att få åldern och dra autofyllhandtaget till över cellerna du behöver. Se skärmdump:
Notera: Denna VBA kan bara beräkna åldrar med datum i formatet mm / dd / åååå, till exempel 6/23/1845.
Beräkna ålder efter födelsedag med Kutools för Excel
Om födelsedagsdatum normalt är efter 1/1/1900 kan du ansöka Kutools för ExcelÄr Hjälp för datum och tid verktyg, som snabbt kan beräkna åldern efter de angivna födelsedagarna.
Kutools för Excel, med mer än 300 praktiska funktioner, gör dina jobb enklare. |
Efter gratis installation Kutools för Excel, gör så här:
1. Markera en tom cell som du vill mata ut åldern och klicka på Kutools > Formel Helper > Hjälp för datum och tid. Se skärmdump:
2. Sedan i Hjälp för datum och tid dialogrutan, markera Åldersalternativ, välj den födelsedag du vill beräkna ålder baserat på till Datum av födelse textruta, standard kommer cellen att väljas som absolut referens, du kan ändra den till relatiev-referens och sedan kontrollera I dag och välj en resultattyp du vill visa i rullgardinsmenyn Typ av resultat. Se skärmdump:
3. klick Ok för att tillämpa denna formel, och nu kan du se att åldern har visats. Och om du behöver kan du dra autofyllhandtaget till de celler som behövs för denna formel. Se skärmdump:
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!