Come calcolare l'età prima del 1/1/1900 in Excel?
In Excel, non è possibile inserire e calcolare correttamente le date precedenti al 1/1/1900. Se vuoi calcolare l'età di una persona nata e deceduta prima del 1/1/1900, generalmente non otterrai un calcolo corretto in Excel. Tuttavia, in questo articolo, un trucco ti aiuterà a calcolare l'età prima del 1/1/1900 in Excel.
Calcola l'età prima del 1/1/1900 con VBA
Calcola l'età in base al compleanno con Kutools per Excel
Calcola l'età prima del 1/1/1900 con VBA
Ecco un codice VBA che può aiutarti a calcolare rapidamente l'età prima del 1/1/1900.
1. Seleziona una cella vuota e inserisci il compleanno della persona, quindi seleziona un'altra cella per inserire la data odierna o la data di morte della persona, come necessario. Vedi screenshot:
2. Quindi premi i tasti Alt + F11 per abilitare la finestra Microsoft Visual Basic for Applications.
3. Clicca su Inserisci > Modulo, incolla il seguente VBA nella nuova finestra Modulo.
VBA: Calcola l'età prima del 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. Seleziona una cella vuota, qui C2, e inserisci questa formula =AgeFunc(A2,B2) (A2 è il compleanno e B2 è la data finale), e premi Invio per ottenere l'età e trascina la maniglia di riempimento automatico sulle celle di cui hai bisogno. Vedi screenshot:
Nota: Questo VBA può calcolare solo le età con date nel formato mm/gg/aaaa, come 23/6/1845.
Calcola l'età in base al compleanno con Kutools per Excel
Se le date di compleanno sono normalmente successive al 1/1/1900, puoi applicare l'utilità di supporto Data e Ora di Kutools per Excel, che può calcolare rapidamente l'età in base ai compleanni forniti.
Dopo aver installato gratuitamente Kutools per Excel, procedi come segue:
1. Seleziona una cella vuota in cui desideri visualizzare l'età e clicca su Kutools > Assistente formula > Data & Ora helper. Vedi screenshot:
2. Quindi nella finestra di dialogo Data & Ora helper seleziona l'opzione Età, scegli il compleanno su cui vuoi basare il calcolo dell'età e inseriscilo nel campo Data di Nascita Per impostazione predefinita, la cella verrà selezionata come riferimento assoluto, ma puoi cambiarlo in riferimento relativo, quindi seleziona l'opzione Oggi e scegli il tipo di risultato che desideri mostrare nell'elenco a discesa Tipo di risultato di output. Vedi screenshot:
3. Clicca su Ok per applicare questa formula, e ora puoi vedere che l'età è stata visualizzata. E se necessario, puoi trascinare la maniglia di riempimento automatico sulle celle che richiedono questa formula. Vedi screenshot:
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e riduce centinaia di clic del mouse ogni giorno!