=B2-A2 restituisce il numero di giorni tra la data in A2 e la data successiva in B2. Excel memorizza ogni data come un numero intero di giorni (2026-03-15 è 46096), quindi sottrarre una data da un'altra dà i giorni che le separano.
| A | B | C | |
|---|---|---|---|
| 1 | Ordered | Delivered | Days |
| 2 | 2026-03-02 | 2026-03-09 | 7 |
| 3 | 2026-03-05 | 2026-03-07 | 2 |
| 4 | 2026-03-10 | 2026-04-02 | 23 |
| 5 | 2026-03-28 | 2026-04-03 | 6 |
| 6 | 2026-12-29 | 2027-01-04 | 6 |
=B2-A2Gli ordini hanno richiesto 7, 2, 23, 6 e 6 giorni. La sottrazione gestisce da sola i cambi di mese e di anno: l'ultimo ordine attraversa Capodanno e conta comunque 6 giorni. Cambia una data di consegna e il conteggio la segue. Se la data più vecchia è in B, il risultato è negativo: -7 invece di 7.
La funzione GIORNI
=GIORNI(end_date; start_date) fa la stessa sottrazione, con la data di fine per prima. GIORNI (in inglese DAYS) dà gli stessi numeri di =B2-A2; il motivo principale per preferirla è che il nome dice cosa fa la formula. La tabella mostra le formule in inglese, ma puoi scriverle anche in italiano, con il punto e virgola: =GIORNI(B2;A2).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | B2-A2 | DAYS |
| 2 | 2026-01-15 | 2026-03-10 | 54 | 54 |
| 3 | 2026-02-01 | 2026-03-01 | 28 | 28 |
| 4 | 2024-02-01 | 2024-03-01 | 29 | 29 |
=GIORNI(B2;A2)Febbraio 2026 ha 28 giorni e febbraio 2024 ne ha 29: Excel conosce il calendario, anni bisestili compresi. Attenzione all'ordine degli argomenti: =GIORNI(A2;B2) restituisce -54 per la prima riga. GIORNI richiede Excel 2013 o successivo; la sottrazione funziona ovunque.
Contare i giorni includendo inizio e fine
La sottrazione conta i giorni tra due date, cioè il numero di notti. Una prenotazione dal 6 al 10 luglio è di 4 notti, ma un'auto noleggiata dal 6 al 10 luglio si paga per 5 giorni. Quando contano sia il primo sia l'ultimo giorno, aggiungi 1.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | From | To | Nights | Days (both counted) |
| 2 | 2026-07-06 | 2026-07-10 | 4 | 5 |
| 3 | 2026-07-31 | 2026-08-01 | 1 | 2 |
=B2-A2+1Un solo giorno, dal 2026-07-06 al 2026-07-06, vale 0 con la sottrazione e 1 con il +1. È da qui che nasce la maggior parte degli errori di uno nei fogli con le date, quindi decidi cosa ti serve prima di riempire la colonna.
Settimane, mesi e anni tra due date
Dividi i giorni per 7 per avere le settimane. Mesi e anni non hanno un numero fisso di giorni, quindi usa DATA.DIFF, che conta i mesi e gli anni di calendario interi.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Start | End | Weeks | Full weeks | Months | Years |
| 2 | 2025-06-15 | 2026-09-30 | 67.4 | 67 | 15 | 1 |
| 3 | 2024-01-01 | 2026-01-01 | 104.4 | 104 | 24 | 2 |
=INT((B2-A2)/7)Dal 2025-06-15 al 2026-09-30 ci sono 67,4 settimane, 67 settimane intere, 15 mesi interi e 1 anno intero. DATA.DIFF (in inglese DATEDIF) vuole prima la data più vecchia e restituisce #NUM! nell'ordine opposto.
Giorni lavorativi tra due date
Per contare solo dal lunedì al venerdì, usa GIORNI.LAVORATIVI.TOT(start; end) (in inglese NETWORKDAYS). Conta sia la data di inizio sia quella di fine quando sono giorni feriali, e come terzo argomento può saltare un elenco di festività. GIORNI.LAVORATIVI.TOT e GIORNO.LAVORATIVO tratta le festività e gli altri fine settimana.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Calendar days | Working days |
| 2 | 2026-03-02 | 2026-03-13 | 12 | 10 |
| 3 | 2026-03-06 | 2026-03-09 | 4 | 2 |
=GIORNI.LAVORATIVI.TOT(A2;B2)Dal 2 al 13 marzo 2026 ci sono 12 giorni contando entrambi gli estremi, di cui 10 feriali. Da un venerdì al lunedì successivo ci sono 4 giorni e 2 giorni lavorativi.
Esercizio: tempo di consegna
| A | B | C | |
|---|---|---|---|
| 1 | Ordered | Delivered | Days |
| 2 | 2026-05-18 | 2026-05-27 |
Tocca a te: In C2, calcola quanti giorni ha richiesto l'ordine, dalla data dell'ordine in A2 alla data di consegna in B2.
Perché il risultato appare come una data o
Con la sottrazione di date capitano spesso due problemi di visualizzazione:
- Il risultato sembra una data (
1900-01-07, o07/01/1900con le impostazioni italiane). La cella ha mantenuto un formato data, quindi 7 giorni vengono mostrati come il giorno 7 del calendario di Excel. Seleziona le celle e scegli Home > Formato numero > Generale. - La cella si riempie di
#####. Il risultato è negativo (le date sono invertite) e la cella è formattata come data, che non può essere negativa. Inverti le date, usa=ASS(B2-A2), oppure formatta la cella come Generale per vedere il numero negativo.
Se il risultato è #VALORE! (in inglese #VALUE!, il nome che mostra la tabella), una delle celle contiene un testo che sembra solo una data, come 15.03.2026 in un Excel impostato sulle date statunitensi. Verifica con =VAL.NUMERO(A2): una data vera restituisce VERO.
Domande frequenti
Come si calcola il numero di giorni tra due date in Excel?
Sottrai la data precedente da quella successiva: =B2-A2. Excel memorizza le date come numeri di giorni, quindi il risultato è il numero di giorni tra le due. =GIORNI(B2;A2) dà lo stesso risultato.
Come si contano i giorni includendo la data di inizio e quella di fine?
Aggiungi 1: =B2-A2+1. Dal 6 al 10 luglio ci sono 4 giorni con la sottrazione (le notti di un soggiorno in albergo) e 5 giorni contando entrambi gli estremi (i giorni di un noleggio).
Come si calcolano i mesi tra due date in Excel?
=DATA.DIFF(A2;B2;"M") conta i mesi interi. Per gli anni usa "Y". DATA.DIFF vuole prima la data più vecchia.
Che differenza c'è tra GIORNI e la sottrazione delle date?
Nessuna nel risultato: =GIORNI(B2;A2) e =B2-A2 restituiscono lo stesso numero di giorni. GIORNI vuole prima la data di fine e richiede Excel 2013 o successivo; la sottrazione funziona in ogni versione.
Come si calcolano le settimane tra due date in Excel?
Dividi i giorni per 7: =(B2-A2)/7 dà le settimane con la parte decimale, e =INT((B2-A2)/7) le settimane intere.