Calcolatore Giorni Tra Due Date (Excel)
Calcola facilmente la differenza in giorni, mesi e anni tra due date come in Excel, con risultati dettagliati e grafico interattivo.
Guida Completa: Come Calcolare i Giorni Tra Due Date in Excel
Calcolare la differenza tra due date è un’operazione fondamentale in Excel, utile per gestire scadenze, pianificare progetti, calcolare interessi o analizzare dati temporali. Questa guida approfondita ti mostrerà tutti i metodi possibili per ottenere risultati precisi, con esempi pratici e soluzioni per casi particolari.
1. Metodo Base: Funzione DATEDIF (Il Segreto di Excel)
La funzione DATEDIF (Data DIfference) è lo strumento più potente di Excel per calcolare differenze tra date, anche se non è documentata ufficialmente. La sua sintassi è:
=DATEDIF(data_inizio; data_fine; unità)
Dove unità può essere:
- “D”: Giorni completi tra le due date
- “M”: Mesi completi
- “Y”: Anni completi
- “MD”: Giorni oltre i mesi completi
- “YM”: Mesi oltre gli anni completi
- “YD”: Giorni oltre gli anni completi
| Unità | Descrizione | Esempio (15/03/2020 – 20/09/2023) |
|---|---|---|
| “D” | Giorni totali | 1284 |
| “M” | Mesi completi | 42 |
| “Y” | Anni completi | 3 |
| “MD” | Giorni oltre mesi completi | 5 |
| “YM” | Mesi oltre anni completi | 6 |
| “YD” | Giorni oltre anni completi | 178 |
2. Metodi Alternativi con Funzioni Standard
Se preferisci evitare DATEDIF, puoi utilizzare queste alternative:
2.1. Sottrazione Diretta (Giorni Total)
=B1-A1
Formatta la cella come Numero per vedere il risultato in giorni. Esempio: =20/09/2023-15/03/2020 restituisce 1284.
2.2. Funzione DAYS (Excel 2013+)
=DAYS(data_fine; data_inizio)
Esempio: =DAYS("20/09/2023"; "15/03/2020") → 1284.
2.3. Anni Completi con YEARFRAC
=YEARFRAC(data_inizio; data_fine; 1)
Il terzo argomento (1) specifica il metodo di calcolo (giorni effettivi/365).
3. Calcolare Giorni Lavorativi (Escludendo Festivi)
Per contare solo i giorni lavorativi (lunedì-venerdì), usa:
=NETWORKDAYS(data_inizio; data_fine; [festivi])
Esempio con festivi italiani (25/12/2022 e 01/01/2023 in cella D1:D2):
=NETWORKDAYS("15/12/2022"; "10/01/2023"; D1:D2)
Risultato: 17 (esclude 25/12, 26/12, 01/01, 06/01 e weekend).
| Funzione | Scopo | Esempio | Risultato |
|---|---|---|---|
| NETWORKDAYS | Giorni lavorativi (Lun-Ven) | =NETWORKDAYS(“01/01/2023”; “10/01/2023”) | 8 |
| NETWORKDAYS.INTL | Giorni lavorativi personalizzati | =NETWORKDAYS.INTL(“01/01/2023”; “10/01/2023”; 11) | 7 (esclude solo domenica) |
| WORKDAY | Aggiunge giorni lavorativi a una data | =WORKDAY(“01/01/2023”; 10) | 15/01/2023 |
4. Errori Comuni e Soluzioni
-
#NUM! con date invertite
Se
data_inizio > data_fine, Excel restituisce un errore. Soluzione:=ABS(B1-A1)
-
Formato data non riconosciuto
Assicurati che le celle siano formattate come Data (Ctrl+1 → Categoria: Data).
-
DATEDIF restituisce #NUM! con mesi/anni negativi
Usa
=IF(DATEDIF(...)<0; 0; DATEDIF(...))per evitare valori negativi. -
Fusi orari ignorati
Excel non gestisce i fusi orari. Converti manualmente le date a UTC se necessario.
5. Caso Pratico: Calcolare l'Età in Anni, Mesi e Giorni
Per ottenere un risultato come 3 anni, 6 mesi, 5 giorni:
=DATEDIF(A1; B1; "Y") & " anni, " & DATEDIF(A1; B1; "YM") & " mesi, " & DATEDIF(A1; B1; "MD") & " giorni"
Esempio con A1=15/03/2000 e B1=20/09/2023:
23 anni, 6 mesi, 5 giorni
6. Automazione con Tabelle Pivot
Se hai un elenco di date (es. scadenze contratti), puoi:
- Creare una colonna con
=TODAY()-data_scadenzaper vedere i giorni rimanenti. - Usare una Tabella Pivot per raggruppare per intervalli (es. 0-30 giorni, 31-90 giorni).
- Aggiungere Formattazione Condizionale per evidenziare scadenze imminenti (rosso se ≤7 giorni).
7. Integrare con Power Query
Per analisi avanzate:
- Importa i dati in Power Query (
Dati → Ottieni dati). - Aggiungi una colonna personalizzata con questa formula M:
Duration.Days([Data_Fine] - [Data_Inizio])
- Carica i risultati in Excel per ulteriori elaborazioni.
Domande Frequenti
D: Perché DATEDIF non è documentata?
DATEDIF era una funzione ereditata da Lotus 1-2-3, inclusa in Excel per compatibilità. Nonostante non sia ufficiale, è pienamente supportata e Microsoft la riconosce nei suoi forum di supporto.
D: Come gestire gli anni bisestili?
Excel gestisce automaticamente gli anni bisestili (es. 29/02/2020 è valido). La funzione DATE accetta anche giorni oltre il mese:
=DATE(2023; 2; 30)restituisce
02/03/2023 (corregge automaticamente).
D: Posso calcolare la differenza in ore/minuti?
Sì! Basta formattare la cella come Ora o Personalizzato ([h]:mm):
= (B1-A1)*24 = (B1-A1)*1440
Risorse Ufficiali
Per approfondire:
- Guida Microsoft: Calcolare la differenza tra due date
- GCFGlobal: Funzioni Data/Ora in Excel (Corso Gratuito)
- NIST: Standard per il Calcolo del Tempo (Riferimento Tecnico)
Conclusione
Padronizzare il calcolo delle differenze tra date in Excel ti farà risparmiare ore di lavoro, soprattutto in ambiti come:
- Finanza: Calcolo interessi maturati tra due date.
- Risorse Umane: Gestione scadenze contratti e anzianità dipendenti.
- Progetti: Monitoraggio tempistiche e ritardi (metodo Critical Path).
- Logistica: Tempi di consegna e scadenze magazzino.
Utilizza il nostro calcolatore interattivo in cima a questa pagina per verificare istantaneamente i tuoi calcoli Excel, oppure scarica il nostro template Excel preconfigurato con tutte le formule pronte all'uso.