Menu

Come calcolare l'età in Excel dalla data di nascita

=DATA.DIFF(B2;OGGI();"Y") restituisce l'età in anni compiuti di chi è nato alla data in B2. Calcola l'età a una data precisa, in anni, mesi e giorni, e senza DATA.DIFF.

Ogni foglio di questa pagina è interattivo: cambia un numero o una formula e si ricalcola.

=DATA.DIFF(B2;OGGI();"Y") restituisce l'età in anni compiuti di chi è nato alla data in B2. DATA.DIFF (in inglese DATEDIF) conta gli anni interi tra due date, e OGGI() (in inglese TODAY()) fornisce la seconda data, quindi l'età aumenta di uno a ogni compleanno. La tabella mostra le formule in inglese, ma puoi scriverle anche in italiano, con il punto e virgola: =DATA.DIFF(B2;OGGI();"Y").

Età dalla data di nascita
C2
ABC
1NameBornAge
2Ana1990-05-1436
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATA.DIFF(B2;OGGI();"Y")

Le età della colonna C sono calcolate a partire dalla data di oggi, quindi cambiano nel corso dell'anno. Cambia una data di nascita nella colonna B e l'età accanto la segue. La formula ha tre argomenti: la data di inizio (la data di nascita), la data di fine (oggi) e l'unità, "Y" per gli anni compiuti.

Età a una data precisa

Per avere l'età in un giorno fisso, come l'inizio dell'anno scolastico o la data di un contratto, metti quel giorno in una cella e usa la cella al posto di OGGI(). Il $ in $F$2 tiene il riferimento su F2 quando la formula viene copiata verso il basso.

Età a una data data
C2
ABCDEF
1NameBornAgeAs of
2Ana1990-05-14362026-10-01
3Ben1985-11-3040
4Chloe2001-02-2825
5Dan1978-10-1047
6Eva2010-07-0416
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =DATA.DIFF(B2;$F$2;"Y")

Al 2026-10-01 Ana ha 36 anni e Dan 47: il suo compleanno del 10 ottobre non è ancora arrivato. Cambia F2 in 2026-10-10 e Dan compie 48 anni. Questa versione dà anche lo stesso risultato ogni volta che apri il file, e conta quando l'età finisce in un report. Vedi la pagina su DATA.DIFF per le altre unità.

Età in anni, mesi e giorni

DATA.DIFF ha unità per le parti che restano dopo gli anni interi: "YM" conta i mesi dopo l'ultimo anno intero, e "MD" i giorni dopo l'ultimo mese intero. Unisci le tre con & per scrivere l'età come testo.

Anni, mesi e giorni
E2
ABCDEF
1BornYearsMonthsDaysAgeAs of
21990-05-143641736 years, 4 months, 17 days2026-10-01
31978-10-1047112147 years, 11 months, 21 days
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =B2&" years, "&C2&" months, "&D2&" days"

Dal 1990-05-14 al 2026-10-01 ci sono 36 anni, 4 mesi e 17 giorni. Microsoft sconsiglia l'unità "MD" perché in alcuni casi può restituire un numero di giorni negativo o sbagliato, per esempio con una data di nascita il 31. Controlla il numero dei giorni quando una data di nascita cade tra il 29 e il 31.

Calcolare l'età senza DATA.DIFF

DATA.DIFF funziona in ogni versione di Excel ma non compare nell'elenco delle funzioni né nel completamento automatico delle formule, quindi alcuni preferiscono FRAZIONE.ANNO (in inglese YEARFRAC). FRAZIONE.ANNO(inizio;fine;1) restituisce gli anni tra due date come decimale, contando la lunghezza reale di ogni anno (base 1). INT elimina la parte decimale.

DATA.DIFF e FRAZIONE.ANNO a confronto
D2
ABCD
1BornAs ofDATEDIFYEARFRAC
21990-05-142026-10-013636
31978-10-102026-10-014747
42010-07-042026-10-011616
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INT(FRAZIONE.ANNO(A2;B2;1))

Le due colonne coincidono: 36, 47 e 16. Senza INT, FRAZIONE.ANNO per l'ultima riga restituisce circa 16,24, utile quando ti serve l'età come decimale, per esempio in un foglio di statistica.

Perché non dividere per 365

Una scorciatoia comune è =INT((F2-B2)/365): i giorni vissuti divisi per i giorni di un anno. Gli anni bisestili aggiungono un giorno ogni quattro anni, quindi dopo qualche decennio la formula arriva all'età successiva giorni prima del compleanno: 12 giorni prima per il 48° compleanno.

Dividere per 365 sbaglia vicino ai compleanni
D2
ABCDE
1BornAs ofDays livedDivide by 365DATEDIF
21990-05-142026-10-01132893636
31978-10-102026-10-01175234847
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.In Excel in italiano: =INT(C2/365)

Per la persona nata il 1978-10-10, dividere per 365 dà 48 anni al 2026-10-01, nove giorni prima del 48° compleanno. DATA.DIFF dice 47. Dividere per 365,25 corregge la maggior parte delle righe ma sbaglia ancora in alcune date, quindi usa DATA.DIFF o FRAZIONE.ANNO.

Esercizio: età al primo giorno di scuola

Tocca a te
C2
ABCDE
1NameBornAgeAs of
2Ana2012-04-172026-09-01
Fai clic su una cella per vederne la formula. Cambia un numero o una formula e il foglio ricalcola.

Tocca a te: In C2, calcola l'età di Ana in anni compiuti alla data in E2.

I controlli nascosti cambiano la data in E2, quindi la formula deve leggerla.

Perché l'età appare come una data

Se scrivi la formula dell'età in una cella che contiene già una data, o in una colonna formattata come date, Excel mantiene il formato data e mostra 36 come 1900-02-05 (il giorno 36 del sistema di date di Excel; con le impostazioni italiane si legge 05/02/1900). Il numero sottostante è giusto. Seleziona le celle e scegli Home > Formato numero > Generale (oppure premi Ctrl+Maiusc+~, Control+Maiusc+~ su Mac) e appare l'età.

Domande frequenti

Qual è la formula per calcolare l'età in Excel?

=DATA.DIFF(B2;OGGI();"Y"), con la data di nascita in B2. Conta gli anni interi dalla data di nascita a oggi, quindi l'età aumenta il giorno del compleanno, non prima.

Come si calcola l'età a una data precisa in Excel?

Metti la data in una cella e usala al posto di OGGI(): =DATA.DIFF(B2;$F$2;"Y") dà l'età alla data in F2. I segni $ tengono fisso F2 quando copi la formula verso il basso.

Come si calcola l'età in Excel senza DATA.DIFF?

Usa =INT(FRAZIONE.ANNO(B2;OGGI();1)). FRAZIONE.ANNO restituisce gli anni tra le due date come decimale, e INT tiene gli anni interi.

Perché la mia formula dell'età mostra una data come 1900-01-30?

La cella è formattata come data, quindi l'età 30 viene mostrata come giorno 30 del calendario di Excel. Seleziona la cella e imposta Home > Formato numero su Generale.

Perché dividere per 365 è sbagliato per l'età?

Gli anni bisestili aggiungono un giorno ogni quattro anni, quindi =INT((OGGI()-B2)/365) conta il compleanno con qualche giorno di anticipo: chi è nato il 10/10/1978 ha 48 anni secondo quella formula già l'1/10/2026, nove giorni prima di compierli. DATA.DIFF conta gli anni di calendario e non ha questo errore.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA