Come calcolare l'età in Excel dalla data di nascita
Calcola l'età dalla data di nascita in Excel con DATEDIF o YEARFRAC, scegli una data di riferimento fissa e gestisci date future o non valide.
Metodo 1: anni compiuti con DATA.DIFF
=DATEDIF(A2,TODAY(),"Y") restituisce il numero di anni completi tra la data di nascita e oggi. L'unità "Y" esclude l'anno non ancora concluso, quindi il risultato cambia il giorno del compleanno e non il 1° gennaio. Imposta la cella del risultato sul formato Generale o Numero, non su una data.
Per un report che domani non deve cambiare, scrivi la data di riferimento in E1 e usa =DATEDIF(A2,$E$1,"Y"). Etichetta E1 in modo chiaro, per esempio «Alla data del». Così paghe, requisiti di idoneità e report storici diventano riproducibili; TODAY è adatta solo a una dashboard in tempo reale in cui l'aggiornamento automatico è voluto. I mesi totali si ottengono con =DATEDIF(A2,$E$1,"M") e una regola come =IF(DATEDIF(A2,$E$1,"Y")>=18,"Adult","Minor") mantiene visibile la soglia nella formula. Per i mesi residui, =DATEDIF(A2,$E$1,"YM") restituisce i mesi dopo l'ultimo anno completo.
Metodo 2: età decimale con FRAZIONE.ANNO
Quando un'analisi richiede un'età approssimata che comprenda anche la parte dell'anno in corso, usa =YEARFRAC(A2,$E$1,1). La base 1 usa i giorni effettivi negli anni effettivi. Non dividere semplicemente la differenza in giorni per 365, perché gli anni bisestili la fanno scostare. Arrotonda solo per la visualizzazione o secondo una regola aziendale documentata.
L'età decimale non sostituisce quella compiuta nelle decisioni formali: 17,99 corrisponde ancora a 17 anni compiuti. Prima di scegliere una formula stabilisci se il requisito riguarda anni compiuti, anni decimali, mesi o giorni.
Convalidare le date e i casi eccezionali
Excel memorizza le date riconosciute come numeri seriali. Una data di nascita importata come testo può causare un errore o un confronto sbagliato: prova con ISNUMBER e correggi l'importazione. Usa DATEVALUE solo se il formato del testo è coerente e non ambiguo e preferisci le importazioni in formato ISO a stringhe come 03/04/05.
Una data di nascita futura fa restituire #NUM! a DATEDIF. Segnalala con =IF(A2>$E$1,"Check date",DATEDIF(A2,$E$1,"Y")). La gestione degli errori deve comunicare il problema nei dati e non trasformare in silenzio ogni errore in zero. Per una persona nata il 29 febbraio chiedi al responsabile della regola come va trattato un anno non bisestile; DATEDIF considera il compleanno raggiunto il 1° marzo.
Errori comuni
Usare =YEAR(TODAY())-YEAR(A2) sovrastima l'età prima del compleanno di quest'anno. Usare TODAY in un report archiviato fa cambiare i risultati passati. Gli argomenti invertiti (data finale per prima) danno #NUM!, e DATEDIF è una funzione di compatibilità che Excel non suggerisce mentre scrivi, anche se funziona. Conserva la data di riferimento accanto ai risultati esportati, così l'età si potrà interpretare in seguito.
Tocca a te
In C2 calcola gli anni compiuti da A2 alla data di riferimento in B2.
| A | B | C | |
|---|---|---|---|
| 1 | Birth date | As of | Age |
| 2 | 5/20/1990 | 4/1/2026 | |
| 3 | 1/15/2000 | 1/15/2026 | |
| 4 | 12/30/1985 | 12/29/2025 |
Soluzione: =DATEDIF(A2,B2,"Y")
Esempio verificato
Date di nascita nella colonna A e date di riferimento nella B. L'ultima persona compie gli anni domani, quindi la sua età non è ancora cambiata.
| A | B | |
|---|---|---|
| 1 | Birth date | As of |
| 2 | 1990-05-20 | 2026-04-01 |
| 3 | 2000-01-15 | 2026-01-15 |
| 4 | 1985-12-30 | 2025-12-29 |
| 5 | 2000-02-29 | 2025-02-28 |
| Formula | Risultato |
|---|---|
=DATEDIF(A2,B2,"Y") | 35 |
=DATEDIF(A2,B2,"YM") | 10 |
=YEAR(B2)-YEAR(A2) | 36 |
=DATEDIF(A3,B3,"Y") | 26 |
=DATEDIF(A4,B4,"Y") | 39 |
=DATEDIF(A5,B5,"Y") | 24 |
=IF(A2>B2,"Check date",DATEDIF(A2,B2,"Y")) | 35 |
Errori frequenti
- Sottrarre i numeri degli anni senza controllare se il compleanno è già passato.
- Usare
TODAYquando il report richiede una data di riferimento fissa. - Trattare un testo ambiguo come una data affidabile.
Domande frequenti
Perché DATA.DIFF non viene suggerita mentre scrivo?
DATEDIF è mantenuta per compatibilità e non compare nell'elenco delle funzioni, ma Excel supporta la formula.
Come calcolo l'età a una data precisa?
Scrivi quella data in una cella e usala come secondo argomento di DATEDIF.
Come ottengo anni e mesi?
Combina DATEDIF con "Y" per gli anni e "YM" per i mesi residui, con etichette chiare.
Perché l'età appare come una data?
La cella del risultato ha un formato numerico di data. Cambialo in Generale o Numero.
Metti in pratica
Continua con una lezione verificata di FormulaCamp in inglese: Tenure, Deadlines, Weekdays (in inglese)
Apri la lezione (in inglese)