La funzione DATEDIF in Excel
DATA.DIFF (Inglese: DATEDIF) restituisce il numero di anni, mesi o giorni completi tra una data di inizio e una data di fine, a seconda dell'unità che scegli.
Funziona in tutte le versioni di Excel, ma Excel non la suggerisce mentre digiti, quindi devi scrivere tu il nome completo. La data di inizio non deve essere successiva alla data di fine.
Sintassi
=DATEDIF(start_date, end_date, unit)
| Argomento | Cosa significa |
|---|---|
| start_date | La data precedente. |
| end_date | La data successiva. |
| unit | "y" anni completi, "m" mesi completi, "d" giorni, "ym" mesi rimasti dopo gli anni completi, "md" giorni rimasti dopo i mesi completi (non affidabile), "yd" giorni rimasti dopo gli anni completi. |
Esempi
1. Età in anni completi
| A | B | |
|---|---|---|
| 1 | Età | |
| 2 | Nato il | 1990-05-20 |
| 3 | Alla data | 2026-03-01 |
| 4 | Anni | 35 |
Il compleanno del 2026 (20 maggio) non è ancora arrivato il 1° marzo, quindi gli anni completi sono solo 35.
2. Mesi completi
| A | B | |
|---|---|---|
| 1 | Contratto | |
| 2 | Inizio | 2026-01-15 |
| 3 | Fine | 2026-03-20 |
| 4 | Mesi | 2 |
Dal 15 gennaio al 15 marzo ci sono 2 mesi completi. I 5 giorni in più non fanno un terzo mese.
3. Anni e mesi, in due parti
| A | B | |
|---|---|---|
| 1 | Età | |
| 2 | Nato il | 1990-05-20 |
| 3 | Alla data | 2026-03-01 |
| 4 | Mesi extra | 9 |
Dopo 35 anni completi (fino al 20 maggio 2025), sono passati altri 9 mesi completi. In totale: 35 anni e 9 mesi.
Errori comuni
Data di inizio successiva alla data di fine. Il risultato è l'errore #NUM!.
Correzione: Scambia le date, oppure usa
=DATA.DIFF(MIN(B2;B3);MAX(B2;B3);"d").Sottrarre le date e dividere per 365 per ottenere l'età. Gli anni bisestili lo rendono un po' impreciso, e il risultato ha decimali.
Correzione: Usa DATA.DIFF (Inglese: DATEDIF) con "y" per gli anni completi.
Usare l'unità "md". Microsoft avverte che può restituire risultati sbagliati.
Correzione: Calcola invece i giorni rimasti con FINE.MESE (Inglese: EOMONTH) o DATA.MESE (Inglese: EDATE).
Domande frequenti
Perché Excel non mostra DATEDIF nell'elenco delle funzioni?
Deriva da Lotus 1-2-3 ed è mantenuta per compatibilità. È documentata e funziona, ma è nascosta tra i suggerimenti.
Come conto i giorni tra due date?
Sottrai una data dall'altra, oppure usa GIORNI (Inglese: DAYS)(fine, inizio). Per i soli giorni lavorativi, usa GIORNI.LAVORATIVI.TOT (Inglese: NETWORKDAYS).
Funzioni correlate
- EOMONTHEOMONTH restituisce l'ultimo giorno di un mese; EDATE lo stesso giorno a un certo numero di mesi di distanza, avanti o indietro.
- NETWORKDAYSNETWORKDAYS conta i giorni lavorativi tra due date, dal lunedì al venerdì, saltando facoltativamente le festività.
- WEEKDAYWEEKDAY restituisce il giorno della settimana come numero e WORKDAY aggiunge giorni lavorativi a una data, saltando i fine settimana.