Calcolatore Tempo tra Date in Excel
Calcola facilmente la differenza tra due date con formule Excel precise
Guida Completa: Calcolare con Excel il Tempo tra una Data e un’Altra
Excel è uno strumento potente per gestire e analizzare le date, ma molti utenti non sfruttano appieno le sue capacità per calcolare le differenze temporali. Questa guida approfondita ti mostrerà come:
- Calcolare la differenza tra due date in giorni, mesi e anni
- Gestire i formati data personalizzati
- Includere l’ora nei calcoli temporali
- Creare grafici dinamici basati su intervalli di tempo
- Evitare gli errori comuni con le date in Excel
1. Le Basi: Formati Data in Excel
Excel memorizza le date come numeri seriali, dove:
- 1 rappresenta il 1° gennaio 1900 (sistema Windows)
- 2 rappresenta il 2 gennaio 1900, e così via
- Le ore sono rappresentate come frazioni decimali (0.5 = 12:00)
Questo sistema permette a Excel di eseguire calcoli matematici con le date. Ad esempio, la formula =B2-A2 restituirà il numero di giorni tra due date.
2. Funzioni Principali per il Calcolo delle Date
| Funzione | Descrizione | Esempio |
|---|---|---|
DATEDIF |
Calcola la differenza tra due date in anni, mesi o giorni | =DATEDIF(A1,B1,"d") |
DAYS |
Restituisce il numero di giorni tra due date | =DAYS(B1,A1) |
YEARFRAC |
Calcola la frazione di anno tra due date | =YEARFRAC(A1,B1,1) |
NETWORKDAYS |
Giorni lavorativi tra due date (esclude weekend) | =NETWORKDAYS(A1,B1) |
EDATE |
Aggiunge mesi a una data | =EDATE(A1,3) |
3. Calcolare la Differenza in Giorni
Il metodo più semplice per calcolare i giorni tra due date è:
- Inserisci la data di inizio in cella A1
- Inserisci la data di fine in cella B1
- In cella C1 inserisci:
=B1-A1
Per formattare il risultato come numero di giorni:
- Seleziona la cella con il risultato
- Premi Ctrl+1 (Windows) o Cmd+1 (Mac)
- Seleziona “Numero” con 0 decimali
4. Calcolare Anni, Mesi e Giorni Separatamente
La funzione DATEDIF è la più versatile:
| Unità | Codice | Esempio | Risultato |
|---|---|---|---|
| Anni completi | “y” | =DATEDIF("15/01/2020","20/03/2023","y") |
3 |
| Mesi completi | “m” | =DATEDIF("15/01/2020","20/03/2023","m") |
39 |
| Giorni completi | “d” | =DATEDIF("15/01/2020","20/03/2023","d") |
1161 |
| Mesi ignorando giorni | “ym” | =DATEDIF("15/01/2020","20/03/2023","ym") |
2 |
| Giorni ignorando anni | “md” | =DATEDIF("15/01/2020","20/03/2023","md") |
5 |
| Giorni ignorando mesi | “yd” | =DATEDIF("15/01/2020","20/03/2023","yd") |
31 |
Nota: DATEDIF non è documentata nella guida di Excel ma è pienamente supportata.
5. Gestire le Ore e i Minuti
Quando devi includere l’ora nei calcoli:
- Assicurati che le celle siano formattate come “Data” o “Data/Ora”
- Usa la formula:
=(B1-A1)*24per le ore - Usa
=(B1-A1)*1440per i minuti - Usa
=(B1-A1)*86400per i secondi
Per estrarre solo l’ora da una data/ora:
=HOUR(A1)– Restituisce l’ora (0-23)=MINUTE(A1)– Restituisce i minuti (0-59)=SECOND(A1)– Restituisce i secondi (0-59)
6. Calcolare i Giorni Lavorativi
Per escludere weekend e festività:
=NETWORKDAYS(inizio,fine)– Esclude solo weekend=NETWORKDAYS.INTL(inizio,fine,[weekend],[festività])– Personalizzabile
Esempio con festività:
=NETWORKDAYS(A1,B1,{DATA.VALORE("25/12/2023");DATA.VALORE("26/12/2023")})
7. Errori Comuni e Soluzioni
| Errore | Causa | Soluzione |
|---|---|---|
| ###### | Colonna troppo stretta per visualizzare la data | Allarga la colonna o cambia formato |
| 43831 | Data visualizzata come numero seriale | Formatta la cella come “Data” |
| #VALORE! | Testo in una formula che richiede date | Usa DATA.VALORE() per convertire il testo |
| Risultati negativi | Data di fine precedente alla data di inizio | Verifica l’ordine delle date o usa ABS() |
| Differenze errate | Formato data non riconosciuto (es. gg/mm/aaaa vs mm/gg/aaaa) | Usa formati data standard o DATA.VALORE() |
8. Creare Grafici con Intervalli di Tempo
Per visualizzare le differenze temporali:
- Organizza i dati in colonne (Data Inizio | Data Fine | Differenza)
- Seleziona i dati
- Vai su “Inserisci” > “Grafico a colonne” o “Grafico a linee”
- Personalizza assi e titoli
Per grafici di Gantt:
- Crea una colonna con le attività
- Aggiungi colonne per data inizio e durata
- Usa un grafico a barre impilate
- Formatta la prima serie come trasparente
9. Funzioni Avanzate per Date
| Funzione | Descrizione | Esempio |
|---|---|---|
WORKDAY |
Aggiunge giorni lavorativi a una data | =WORKDAY(A1,10) |
EOMONTH |
Restituisce l’ultimo giorno del mese | =EOMONTH(A1,0) |
WEEKDAY |
Restituisce il giorno della settimana (1-7) | =WEEKDAY(A1,2) |
WEEKNUM |
Restituisce il numero della settimana | =WEEKNUM(A1,21) |
ISOWEEKNUM |
Numero settimana secondo standard ISO | =ISOWEEKNUM(A1) |
DATE |
Crea una data da anno, mese, giorno | =DATE(2023,12,25) |
10. Automazione con Tabelle Pivot
Per analizzare intervalli di tempo:
- Crea una tabella con date e valori associati
- Inserisci una Tabella Pivot
- Aggiungi la data come riga
- Raggruppa per mesi, trimestri o anni
- Aggiungi i valori da analizzare
Per raggruppamenti personalizzati:
- Fai clic destro su una data nella Tabella Pivot
- Seleziona “Raggruppa”
- Imposta l’intervallo desiderato (giorni, mesi, anni)
11. Integrazione con Power Query
Per importare e trasformare dati con date:
- Vai su “Dati” > “Ottieni dati”
- Seleziona la fonte dati
- Nella finestra Power Query:
- Usa “Colonna personalizzata” per calcolare differenze
- Applica filtri basati su date
- Estrai parti di date (anno, mese, giorno)
- Carica i dati in Excel
12. Best Practice per Lavorare con le Date
- Usa sempre il formato data standard (gg/mm/aaaa)
- Evita di memorizzare date come testo
- Usa
DATA.VALORE()per convertire testo in date - Documenta sempre le formule complesse
- Verifica i risultati con dati campione
- Usa nomi di intervallo per riferimenti a date
- Considera i fusi orari per dati internazionali
Risorse Esterne Autorevoli
Per approfondimenti tecnici sulle funzioni di data in Excel:
- Documentazione ufficiale Microsoft sulle funzioni data
- NIST Time and Frequency Division (standard temporali)
- Standard ISO 8601 per formati data/ora
Domande Frequenti
Come faccio a calcolare l’età in Excel?
Usa questa formula:
=DATEDIF(data_nascita;OGGI();"y") & " anni, " & DATEDIF(data_nascita;OGGI();"ym") & " mesi, " & DATEDIF(data_nascita;OGGI();"md") & " giorni"
Perché Excel mostra ###### invece della data?
Questo accade quando:
- La colonna è troppo stretta (allargala)
- Il risultato è negativo (verifica l’ordine delle date)
- Il formato cella è errato (cambia in “Data”)
Come posso calcolare i giorni tra due date escludendo specifici giorni?
Usa questa formula array (premi Ctrl+Shift+Invio):
=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT(B1&":"&A1)))<>1),--(WEEKDAY(ROW(INDIRECT(B1&":"&A1)))<>7),--(ROW(INDIRECT(B1&":"&A1))<>DATA.VALORE("1/1/2023")),--(ROW(INDIRECT(B1&":"&A1))<>DATA.VALORE("25/12/2023")))
Qual è la differenza tra DATEDIF e DAYS?
DATEDIF è più flessibile e può restituire anni, mesi o giorni, mentre DAYS restituisce solo il numero totale di giorni. DAYS è più recente e meglio documentata.