Calcolatore Giorni tra Due Date in Excel
Calcola facilmente la differenza in giorni, mesi o anni tra due date con opzioni avanzate per festività e fine settimana
Guida Completa: Come Calcolare i Giorni tra Due Date in Excel
Calcolare la differenza tra due date è un’operazione fondamentale in Excel, utile per la gestione di progetti, il calcolo di scadenze, l’analisi finanziaria e molto altro. In questa guida approfondita, esploreremo tutti i metodi disponibili in Excel per calcolare i giorni tra due date, inclusi giorni lavorativi, mesi e anni, con esempi pratici e soluzioni per scenari complessi.
Metodi Base per Calcolare la Differenza tra Date
-
Sottrazione diretta
Il metodo più semplice consiste nel sottrarre direttamente una data dall’altra:=B2-A2
Dove B2 contiene la data finale e A2 la data iniziale. Il risultato sarà il numero di giorni tra le due date. -
Funzione DATEDIF
La funzione DATEDIF (Data Difference) è specificamente progettata per calcolare la differenza tra due date in diversi formati:=DATEDIF(data_inizio; data_fine; unità)
Dove “unità” può essere:- “d”: Giorni
- “m”: Mesi completi
- “y”: Anni completi
- “ym”: Mesi rimanenti dopo anni completi
- “md”: Giorni rimanenti dopo mesi completi
- “yd”: Giorni rimanenti dopo anni completi
-
Funzione DAYS
Introdutta in Excel 2013, la funzione DAYS semplifica il calcolo:=DAYS(data_fine; data_inizio)
Calcolo dei Giorni Lavorativi
Per calcolare solo i giorni lavorativi (escludendo sabato, domenica e festività), Excel offre due funzioni principali:
-
Funzione NETWORKDAYS
Calcola i giorni lavorativi tra due date, escludendo automaticamente sabato e domenica:=NETWORKDAYS(data_inizio; data_fine)
Per includere anche le festività:=NETWORKDAYS(data_inizio; data_fine; [festività])
Dove [festività] è un intervallo di celle contenente le date delle festività. -
Funzione NETWORKDAYS.INTL
Versione più flessibile che permette di definire quali giorni sono considerati fine settimana:=NETWORKDAYS.INTL(data_inizio; data_fine; [fine_settimana]; [festività])
Il parametro [fine_settimana] può essere:- 1: Sabato e Domenica (predefinito)
- 2: Domenica e Lunedì
- 11: Solo Domenica
- 12: Solo Sabato
- 13: Solo Venerdì
- 14: Solo Venerdì e Sabato
- 15: Solo Domenica e Venerdì
- 16: Solo Sabato e Domenica (uguale a 1)
- 17: Solo Domenica
Esempi Pratici con Dati Reali
Vediamo alcuni esempi concreti con date reali per illustrare le differenze tra i vari metodi:
| Scenario | Data Inizio | Data Fine | Giorni Total | Giorni Lavorativi (IT) | Formula Utilizzata |
|---|---|---|---|---|---|
| Progetto standard | 01/01/2023 | 31/01/2023 | 30 | 21 | =NETWORKDAYS(A2;B2) |
| Consegna prodotto | 15/12/2023 | 10/01/2024 | 26 | 17 | =NETWORKDAYS.INTL(A3;B3;1) |
| Periodo con festività | 20/12/2023 | 10/01/2024 | 21 | 12 | =NETWORKDAYS(A4;B4;D4:D6) |
| Lungo termine | 01/01/2020 | 31/12/2023 | 1460 | 1040 | =NETWORKDAYS(A5;B5) |
Nota: I giorni lavorativi per l’Italia tengono conto delle seguenti festività nazionali (2023-2024):
- 1 gennaio (Capodanno)
- 6 gennaio (Epifania)
- Lunedì dopo Pasqua
- 25 aprile (Liberazione)
- 1 maggio (Festa del Lavoro)
- 2 giugno (Festa della Repubblica)
- 15 agosto (Ferragosto)
- 1 novembre (Ognissanti)
- 8 dicembre (Immacolata)
- 25 dicembre (Natale)
- 26 dicembre (Santo Stefano)
Calcolo di Mesi e Anni tra Date
Per calcolare la differenza in mesi o anni, la funzione DATEDIF è lo strumento più potente:
| Unità | Formula | Esempio (01/01/2020 – 31/12/2023) | Risultato | Descrizione |
|---|---|---|---|---|
| “y” | =DATEDIF(A2;B2;”y”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”y”) | 3 | Anni completi tra le date |
| “m” | =DATEDIF(A2;B2;”m”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”m”) | 47 | Mesi completi tra le date |
| “d” | =DATEDIF(A2;B2;”d”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”d”) | 1459 | Giorni totali tra le date |
| “ym” | =DATEDIF(A2;B2;”ym”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”ym”) | 11 | Mesi rimanenti dopo anni completi |
| “md” | =DATEDIF(A2;B2;”md”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”md”) | 30 | Giorni rimanenti dopo mesi completi |
| “yd” | =DATEDIF(A2;B2;”yd”) | =DATEDIF(“01/01/2020″;”31/12/2023″;”yd”) | 364 | Giorni rimanenti dopo anni completi |
Errori Comuni e Come Evitarli
-
Formato delle date non riconosciuto
Excel potrebbe non riconoscere le date se non sono formattate correttamente. Assicurati che:- Le celle siano formattate come “Data”
- Le date siano inserite nel formato GG/MM/AAAA o MM/GG/AAAA (a seconda delle impostazioni regionali)
- Non ci siano spazi o caratteri non validi
-
Data finale precedente alla data iniziale
Se la data finale è antecedente a quella iniziale, Excel restituirà:- Un numero negativo per la sottrazione diretta
- Un errore #NUM! per DATEDIF
=SE(ERRORE(DATEDIF(A2;B2;"d")); "Data non valida"; DATEDIF(A2;B2;"d"))
-
Dimenticare le festività nel calcolo dei giorni lavorativi
Le funzioni NETWORKDAYS escludono automaticamente sabato e domenica, ma non le festività. Per includerle:=NETWORKDAYS(A2;B2; Festività!A2:A12)
Dove Festività!A2:A12 contiene l’elenco delle date festive. -
Problemi con gli anni bisestili
Excel gestisce automaticamente gli anni bisestili (ad esempio, il 29 febbraio 2024). Tuttavia, per calcoli che coinvolgono date in anni bisestili, assicurati che:- Le date siano valide (ad esempio, non esiste il 29/02/2023)
- Le formule tengano conto del giorno extra in febbraio
Soluzioni Avanzate
Per scenari più complessi, è possibile combinare più funzioni o utilizzare formule matriciali:
-
Calcolare l’età esatta
Per ottenere anni, mesi e giorni separati:=DATEDIF(A2;B2;"y") & " anni, " & DATEDIF(A2;B2;"ym") & " mesi, " & DATEDIF(A2;B2;"md") & " giorni"
-
Contare i fine settimana tra due date
=INT((B2-A2+1)/7)*2 + SE(RESTO(B2-A2+1;7)>=6;1;0) + SE(RESTO(B2-A2+1;7)>=7;1;0)
-
Calcolare la percentuale di completamento
Per progetti con data di inizio e fine:=MIN(1; MAX(0; (OGGI()-A2)/(B2-A2)))
Dove A2 è la data di inizio e B2 la data di fine. -
Gestire fusorari diversi
Per paesi con fine settimana diversi (ad esempio, venerdì e sabato nei paesi arabi):=NETWORKDAYS.INTL(A2;B2;7)
Dove 7 indica venerdì e sabato come fine settimana.
Integrazione con Power Query
Per analisi più complesse su grandi dataset, Power Query offre funzionalità avanzate:
-
Calcolare la differenza tra date in una tabella
In Power Query, è possibile aggiungere una colonna personalizzata con:Duration.Days([DataFine] - [DataInizio])
-
Filtrare per periodi specifici
Creare parametri per filtrare dati in base a intervalli di date:= Table.SelectRows(#"Passo Precedente", each [Data] >= DataInizio and [Data] <= DataFine)
-
Raggruppare per intervalli di tempo
Per analisi temporali (ad esempio, vendite per trimestre):= Table.Group(#"Passo Precedente", {"AnnoTrimestre"}, {{"Totale", each List.Sum([Vendite]), type number}})Dove "AnnoTrimestre" è una colonna calcolata come:= Number.From(Date.Year([Data]))*100 + Date.QuarterOfYear([Data])
Risorse Ufficiali e Approfondimenti
Per ulteriori informazioni sulle funzioni di data in Excel, consultare le seguenti risorse autorevoli:
- Documentazione ufficiale Microsoft sulla funzione DATEDIF
- Guida Microsoft sulla funzione NETWORKDAYS
- NIST Time and Frequency Division (per standard internazionali sulle date)
- Standard ECMA-376 per Office Open XML (formato dei file Excel)
Domande Frequenti
-
Perché Excel mostra ###### invece della data?
Questo accade quando la colonna non è abbastanza larga per visualizzare la data. Allarga la colonna o riduci la dimensione del font. -
Come faccio a visualizzare solo l'anno da una data?
Usa la funzione ANNO:=ANNO(A2)
-
Posso calcolare la differenza tra date e orari?
Sì, Excel gestisce sia date che orari. La differenza sarà in frazioni di giorno (dove 1 = 24 ore). Per ottenere ore:= (B2-A2)*24
-
Come gestire i fusi orari nelle date?
Excel non gestisce nativamente i fusi orari. È necessario convertire manualmente le date al fuso orario desiderato prima di eseguire calcoli. -
Esiste un limite al numero di giorni che Excel può gestire?
Excel può gestire date dal 1 gennaio 1900 al 31 dicembre 9999, per un totale di 2.958.465 giorni.
Conclusione
Il calcolo della differenza tra date in Excel è una competenza fondamentale per qualsiasi professionista che lavori con dati temporali. Che tu debba calcolare scadenze di progetto, analizzare trend temporali o gestire dati finanziari, padronanza delle funzioni DATEDIF, NETWORKDAYS e DAYS ti permetterà di ottenere risultati precisi ed efficienti.
Ricorda che:
- Per semplici differenze in giorni, la sottrazione diretta o la funzione DAYS sono sufficienti
- Per giorni lavorativi, NETWORKDAYS e NETWORKDAYS.INTL sono essenziali
- Per differenze in mesi o anni, DATEDIF è insostituibile
- Sempre verificare il formato delle date e l'ordine giorno/mese/anno
- Considerare le festività nazionali per calcoli precisi dei giorni lavorativi
Con queste conoscenze, sarai in grado di affrontare qualsiasi scenario di calcolo tra date in Excel, dalla semplice differenza in giorni a analisi complesse che coinvolgono festività, fine settimana e formati personalizzati.