Sommario
L'esercitazione mostra diversi modi per ottenere l'età dalla data di nascita in Excel. Imparerete una serie di formule per calcolare l'età come numero di anni completi, per ottenere l'età esatta in anni, mesi e giorni alla data odierna o a una data particolare.
Non esiste una funzione speciale per calcolare l'età in Excel, ma esistono alcuni modi diversi per convertire la data di nascita in età. Questo tutorial spiegherà i vantaggi e gli svantaggi di ciascun metodo, mostrerà come creare una formula perfetta per il calcolo dell'età in Excel e la modificherà per risolvere alcuni compiti specifici.
Come calcolare l'età dalla data di nascita in Excel
Nella vita quotidiana, la domanda " Quanti anni hai? "In Microsoft Excel è possibile creare una formula per calcolare l'età esatta in mesi, giorni, ore e persino minuti. Ma prima di tutto impariamo a calcolare l'età dalla data di nascita in anni.
Formula di base di Excel per l'età in anni
Come si calcola normalmente l'età di una persona? Semplicemente sottraendo la data di nascita dalla data attuale. Questa formula convenzionale dell'età può essere utilizzata anche in Excel.
Supponendo che la data di nascita sia nella cella B2, la formula per calcolare l'età in anni è la seguente:
=(OGGI()-B2)/365
La prima parte della formula (OGGI()-B2) restituisce la differenza tra la data attuale e la data di nascita in giorni, quindi si divide questo numero per 365 per ottenere il numero di anni.
La formula è ovvia e facile da ricordare, tuttavia c'è un piccolo problema: nella maggior parte dei casi restituisce un numero decimale, come dimostrato nella schermata seguente.
Per visualizzare il numero di anni completi, utilizzare la funzione INT per arrotondare un decimale al numero intero più vicino:
=INT((OGGI()-B2)/365)
Svantaggi: L'uso di questa formula per l'età in Excel produce risultati abbastanza precisi, ma non impeccabili. Dividere per il numero medio di giorni in un anno funziona bene la maggior parte delle volte, ma a volte sbaglia l'età. Ad esempio, se una persona è nata il 29 febbraio e oggi è il 28 febbraio, la formula la renderà più vecchia di un giorno.
In alternativa, si può dividere per 365,25 invece che per 365, dato che ogni quarto anno ha 366 giorni. Tuttavia, anche questo approccio non è perfetto: ad esempio, se si sta calcolando l'età di un bambino che non ha ancora vissuto un anno bisestile, dividendo per 365,25 si ottiene un risultato sbagliato.
In generale, sottrarre la data di nascita dalla data corrente funziona benissimo nella vita normale, ma non è l'approccio ideale in Excel. Più avanti in questo tutorial, imparerete un paio di funzioni speciali che calcolano l'età senza problemi, indipendentemente dall'anno.
Calcolo dell'età dalla data di nascita con la funzione YEARFRAC
Un modo più affidabile per convertire la data di nascita in età in Excel è utilizzare la funzione ANNOFRAC che restituisce la frazione dell'anno, ovvero il numero di giorni interi tra due date.
La sintassi della funzione YEARFRAC è la seguente:
YEARFRAC(data_inizio, data_fine, [base])I primi due argomenti sono ovvi e non richiedono ulteriori spiegazioni. Base è un argomento opzionale che definisce la base del conteggio dei giorni da utilizzare.
Per ottenere una formula dell'età perfettamente fedele, fornire i seguenti valori alla funzione YEARFRAC:
- Data_inizio - data di nascita.
- Data_fine - La funzione TODAY() restituisce la data di oggi.
- Base - base d'uso 1 che indica a Excel di dividere il numero effettivo di giorni al mese per il numero effettivo di giorni all'anno.
Considerando quanto sopra, una formula Excel per calcolare l'età dalla data di nascita è la seguente:
ANNOFRAC( data di nascita , OGGI(), 1)Supponendo che la data di nascita si trovi nella cella B2, la formula assume la forma seguente:
=ANNOFRAC(B2, OGGI(), 1)
Come nell'esempio precedente, anche il risultato della funzione YEARFRAC è un numero decimale. Per risolvere questo problema, utilizzare la funzione ROUNDDOWN con 0 nell'ultimo argomento, perché non si vogliono cifre decimali.
Ecco quindi una formula migliorata di YEARFRAC per calcolare l'età in Excel:
=ARROTONDAMENTO(ANNOFRAC(B2, OGGI(), 1), 0)
Calcolo dell'età in Excel con DATEDIF
Un altro modo per convertire la data di nascita in età in Excel è utilizzare la funzione DATEDIF:
DATEDIF(data_inizio, data_fine, unità)Questa funzione può restituire la differenza tra due date in varie unità di tempo come anni, mesi e giorni, a seconda del valore fornito nell'opzione unità argomento:
- Y - restituisce il numero di anni completi tra le date di inizio e fine.
- M - restituisce il numero di mesi completi tra le date.
- D - restituisce il numero di giorni tra le due date.
- YM - restituisce mesi ignorando i giorni e gli anni.
- MD - restituisce la differenza in giorni ignorando mesi e anni.
- YD - restituisce la differenza in giorni , ignorando gli anni.
Poiché il nostro obiettivo è quello di calcolare età in anni , stiamo usando l'unità "y":
DATEDIF( data di nascita , OGGI(), "y")In questo esempio, la data di nascita si trova nella cella B2, a cui si fa riferimento nella formula dell'età:
=DATEDIF(B2, OGGI(), "y")
In questo caso non è necessaria un'ulteriore funzione di arrotondamento perché una formula DATEDIF con l'unità "y" calcola il numero di anni interi:
Come ottenere l'età dalla data di nascita in anni, mesi e giorni
Come si è appena visto, calcolare l'età come numero di anni interi vissuti da una persona è facile, ma non sempre è sufficiente. Se si vuole sapere l'età esatta, cioè quanti anni, mesi e giorni ci sono tra la data di nascita di una persona e la data attuale, è necessario scrivere 3 diverse funzioni DATEDIF:
- Per ottenere il numero di anni:
=DATEDIF(B2, OGGI(), "Y")
- Per ottenere il numero di mesi:
=DATEDIF(B2, OGGI(), "YM")
- Per ottenere il numero di giorni:
=DATEDIF(B2,OGGI(), "MD")
Dove B2 è la data di nascita.
Quindi, concatenare le funzioni di cui sopra in un'unica formula, come questa:
=DATEDIF(B2,OGGI(), "Y") & DATEDIF(B2,OGGI(), "YM") & DATEDIF(B2,OGGI(), "MD")
La formula precedente restituisce 3 numeri (anni, mesi e giorni) concatenati in un'unica stringa di testo, come mostrato nella schermata seguente:
Per rendere i risultati più significativi, separate i numeri con delle virgole e definite il significato di ciascun valore:
=DATEDIF(B2,OGGI(), "Y") & " Anni, " & DATEDIF(B2,OGGI(), "YM") & " Mesi, " & DATEDIF(B2,OGGI(), "MD") & " Giorni"
Ora il risultato è molto migliore:
La formula funziona benissimo, ma è possibile migliorarla ulteriormente nascondendo i valori zero. A tale scopo, aggiungere 3 istruzioni IF che controllino gli 0, una per ogni DATEDIF:
=IF(DATEDIF(B2, OGGI(), "y")=0,"",DATEDIF(B2, OGGI(), "y")&" anni, ")& IF(DATEDIF(B2, OGGI(), "ym")=0,"",DATEDIF(B2, OGGI(), "ym")&" mesi, ")& IF(DATEDIF(B2, OGGI(), "md")=0,"",DATEDIF(B2, OGGI(), "md")&" giorni")
La seguente schermata mostra la formula finale dell'età di Excel in azione: restituisce l'età in anni, mesi e giorni, visualizzando solo non zero valori:
Suggerimento: se state cercando una formula di Excel per calcolare l'età in anni e mesi Prendete la formula precedente e rimuovete l'ultimo blocco IF(DATEDIF()) che calcola i giorni.
Formule specifiche per il calcolo dell'età in Excel
Le formule generiche per il calcolo dell'età discusse in precedenza funzionano bene nella maggior parte dei casi. In alcune situazioni, tuttavia, potrebbe essere necessario qualcosa di molto specifico. Naturalmente non è possibile coprire ogni singolo scenario, ma gli esempi seguenti vi daranno alcune idee su come modificare una formula per l'età in base al vostro compito specifico.
Come calcolare l'età in una data specifica in Excel
Se si desidera conoscere l'età di una persona a una certa data, utilizzare la formula dell'età DATEDIF discussa in precedenza, ma sostituire la funzione TODAY() nel secondo argomento con la data specifica.
Supponendo che la data di nascita sia in B1, la formula seguente restituirà l'età al 1° gennaio 2020:
=DATEDIF(B1, "1/1/2020", "Y") & " Anni, " & DATEDIF(B1, "1/1/2020", "YM") & " Mesi, " & DATEDIF(B1, "1/1/2020", "MD") & " Giorni"
Per rendere più flessibile la formula dell'età, è possibile inserire la data in una cella e fare riferimento a quella cella nella formula:
=DATEDIF(B1, B2, "Y") & " Anni, "& DATEDIF(B1,B2, "YM") & " Mesi, "&DATEDIF(B1,B2, "MD") & " Giorni"
Dove B1 è la data di nascita e B2 è la data in cui si vuole calcolare l'età.
Calcolare l'età in un determinato anno
Questa formula è utile nelle situazioni in cui la data completa da calcolare non è definita e si conosce solo l'anno.
Supponiamo di lavorare con un database medico e di voler scoprire l'età dei pazienti al momento dell'ultima visita medica completa.
Supponendo che le date di nascita siano nella colonna B a partire dalla riga 3 e che l'anno dell'ultima visita medica sia nella colonna C, la formula per il calcolo dell'età è la seguente:
=DATEDIF(B3,DATE(C3, 1, 1), "y")
Poiché la data esatta della visita medica non è definita, si utilizza la funzione DATE con un argomento data e mese arbitrario, ad esempio DATE(C3, 1, 1).
La funzione DATA estrae l'anno dalla cella B3, crea una data completa utilizzando i numeri di mese e giorno forniti (1-gennaio in questo esempio) e passa tale data a DATEDIF. Il risultato è l'età del paziente al 1° gennaio di un determinato anno:
Scoprire la data in cui una persona raggiunge N anni di età
Supponiamo che il vostro amico sia nato l'8 marzo 1978. Come fate a sapere in quale data compie 50 anni? Di solito, si aggiungono semplicemente 50 anni alla data di nascita della persona. In Excel, si fa lo stesso usando la funzione DATA:
=DATE(ANNO(B2) + 50, MESE(B2), GIORNO(B2))
Dove B2 è la data di nascita.
Invece di inserire il numero di anni nella formula, è possibile fare riferimento a una determinata cella in cui gli utenti possono inserire qualsiasi numero di anni (F1 nella schermata seguente):
Calcolo dell'età a partire da giorno, mese e anno in diverse celle
Quando la data di nascita è suddivisa in 3 celle diverse (ad esempio, l'anno è in B3, il mese in C3 e il giorno in D3), è possibile calcolare l'età in questo modo:
- Ottenere la data di nascita utilizzando le funzioni DATE e DATEVALUE:
DATE(B3,MONTH(DATEVALUE(C3& "1")),D3)
- Inserite la formula precedente in DATEDIF per calcolare l'età dalla data di nascita in anni, mesi e giorni:
=DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "y") & " Anni, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3),TODAY(), "ym") & " Mesi, "& DATEDIF(DATE(B3, MONTH(DATEVALUE(C3& "1")), D3), TODAY(), "md") & " Giorni"
Per ulteriori esempi di calcolo del numero di giorni prima/dopo una data, vedere Come calcolare i giorni dalla data o fino alla data in Excel.
Calcolo dell'età in Excel
Se si desidera avere un proprio calcolatore di età in Excel, è possibile crearne uno utilizzando alcune formule DATEDIF spiegate di seguito. Se si preferisce non reinventare la ruota, è possibile utilizzare il calcolatore di età creato dai nostri professionisti di Excel.
Come creare un calcolatore di età in Excel
Ora che sapete come creare una formula di età in Excel, potete costruire un calcolatore di età personalizzato, ad esempio questo:
Nota: per visualizzare la cartella di lavoro incorporata, consentire i cookie di marketing.
Quello che vedete qui sopra è un foglio Excel Online incorporato, quindi non esitate a inserire la vostra data di nascita nella cella corrispondente e otterrete la vostra età in un attimo.
La calcolatrice utilizza le seguenti formule per calcolare l'età in base alla data di nascita nella cella A3 e alla data odierna.
- La formula in B5 calcola l'età in anni, mesi e giorni:
=DATEDIF(B2,OGGI(), "Y") & " Anni, " & DATEDIF(B2,OGGI(), "YM") & " Mesi, " & DATEDIF(B2,OGGI(), "MD") & " Giorni"
- La formula in B6 calcola l'età in mesi:
=DATEDIF($B$3,OGGI(), "m")
- La formula in B7 calcola l'età in giorni:
=DATEDIF($B$3,OGGI(), "d")
Se si ha un po' di esperienza con i controlli dei moduli di Excel, è possibile aggiungere un'opzione per calcolare l'età a una data specifica, come mostrato nella seguente schermata:
Per questo, aggiungere un paio di pulsanti di opzione ( Scheda sviluppatore > Inserire > Controlli del modulo > Pulsante di opzione ) e collegarli a una cella. Quindi, scrivere una formula IF/DATEDIF per ottenere l'età alla data odierna o alla data specificata dall'utente.
La formula funziona con la seguente logica:
- Se il Data di oggi viene selezionata la casella di opzione, il valore 1 appare nella cella collegata (I5 in questo esempio) e la formula dell'età viene calcolata in base alla data odierna:
IF($I$5=1, DATEDIF($B$3,OGGI(), "Y") & " Anni, " & DATEDIF($B$3,OGGI(), "YM") & " Mesi, " & DATEDIF($B$3, OGGI(), "MD") & " Giorni")
- Se il Data specifica e si inserisce una data nella cella B7, l'età viene calcolata alla data specificata:
IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " Anni, " & DATEDIF($B$3, $B$7, "YM") & " Mesi, " & DATEDIF($B$3, $B$7, "MD") & " Giorni", ""))
Infine, se le funzioni di cui sopra sono collegate tra loro, si otterrà la formula completa per il calcolo dell'età (in B9):
=IF($I$5=1, DATEDIF($B$3, OGGI(), "Y") & " Anni, " & DATEDIF($B$3, OGGI(), "YM") & " Mesi, " & DATEDIF($B$3, OGGI(), "MD") & " Giorni", IF(ISNUMBER($B$7), DATEDIF($B$3, $B$7, "Y") & " Anni, " & DATEDIF($B$3, $B$7, "YM") & " Mesi, " & DATEDIF($B$3, $B$7, "MD") & " Giorni", ""))
Le formule in B10 e B11 funzionano con la stessa logica, ma sono molto più semplici perché includono solo una funzione DATEDIF che restituisce l'età come numero di mesi o giorni completi, rispettivamente.
Per conoscere i dettagli, vi invito a scaricare questo calcolatore di età di Excel e a esaminare le formule nelle celle B9:B11.
Scarica Age Calculator for Excel
Calcolatore di età pronto all'uso per Excel
Gli utenti della nostra Ultimate Suite non devono preoccuparsi di creare il proprio calcolatore di età in Excel: basta un paio di clic:
- Selezionate la cella in cui volete inserire la formula dell'età, passate alla voce Strumenti Ablebits scheda> Data e ora e fare clic sul pulsante Assistente data e ora pulsante.
- Viene avviata la procedura guidata Data e ora e si passa direttamente a Data e ora. Età scheda.
- Sul Età scheda, ci sono 3 cose da specificare:
- Dati di nascita come riferimento di cella o come data nel formato mm/gg/aaaa.
- Età al data odierna o data specifica .
- Scegliere se calcolare l'età in giorni, mesi, anni o età esatta.
- Fare clic sul pulsante Inserire la formula pulsante.
Fatto!
La formula viene inserita momentaneamente nella cella selezionata e si fa doppio clic sulla maniglia di riempimento per copiarla lungo la colonna.
Come avrete notato, la formula creata dal nostro calcolatore di età di Excel è più complessa di quelle discusse finora, ma tiene conto di unità di tempo singolari e plurali come "giorno" e "giorni".
Se si desidera eliminare le unità zero come "0 giorni", selezionare l'opzione Non mostra zero unità casella di controllo:
Se siete curiosi di provare questo calcolatore di età e di scoprire altri 60 add-in per Excel che fanno risparmiare tempo, potete scaricare una versione di prova della nostra Ultimate Suite alla fine di questo post.
Come evidenziare determinate età (al di sotto o al di sopra di un'età specifica)
In alcune situazioni, potrebbe essere necessario non solo calcolare l'età in Excel, ma anche evidenziare le celle che contengono età inferiori o superiori a una determinata età.
Se la formula di calcolo dell'età restituisce il numero di anni completi, è possibile creare una regola di formattazione condizionale regolare basata su una formula semplice come queste:
- Per evidenziare le età pari o superiori a 18 anni: =$C2>=18
- Per evidenziare le età inferiori ai 18 anni: =$C2<18
Dove C2 è la cella più alta della colonna Età (esclusa l'intestazione della colonna).
Ma se la vostra formula visualizza l'età in anni e mesi o in anni, mesi e giorni, dovrete creare una regola basata su una formula DATEDIF che calcola l'età dalla data di nascita in anni.
Supponendo che le date di nascita siano nella colonna B a partire dalla riga 2, le formule sono le seguenti:
- Per evidenziare le età sotto 18 (giallo):
=DATEDIF($B2, OGGI(), "Y")<18
- Per evidenziare le età tra 18 e 65 anni (verde):
=AND(DATEDIF($B2, OGGI(), "Y")>=18, DATEDIF($B2, OGGI(), "Y")<=65)
- Per evidenziare le età oltre 65 (blu):
=DATEDIF($B2, OGGI(), "Y")>65
Per creare regole basate sulle formule di cui sopra, selezionare le celle o le intere righe che si desidera evidenziare, andare alla voce Casa scheda> Stili e fare clic su Formattazione condizionale > Nuova regola... > Utilizzate una formula per determinare quali celle formattare .
I passaggi dettagliati si trovano qui: Come creare una regola di formattazione condizionale basata su una formula.
Spero che le formule siano state facili da imparare e che le proverete nei vostri fogli di lavoro. Grazie per aver letto e spero di vedervi sul nostro blog la prossima settimana!
Download disponibili
Esempi di calcolo dell'età in Excel (file .xlsx)
Ultimate Suite 14 giorni versione completamente funzionale (file .exe)