Calcolatore Giorni Lavorativi dopo Data in Excel
Calcola facilmente i giorni lavorativi tra due date, escludendo sabati, domeniche e festivi italiani
Risultato:
La data finale dopo 5 giorni lavorativi da 01/01/2023 è:
06/01/2023
Guida Completa: Come Calcolare i Giorni Lavorativi dopo una Data in Excel
Calcolare i giorni lavorativi (escludendo sabati, domeniche e festivi) è un’operazione comune in ambito aziendale per la gestione di scadenze, consegne e pianificazione delle attività. Excel offre diverse funzioni per eseguire questo calcolo in modo preciso, ma è importante conoscerne le sfumature per evitare errori.
Metodo 1: Utilizzo della Funzione LAVORATIVO.GIORNI
La funzione LAVORATIVO.GIORNI (NETWORKDAYS in inglese) è lo strumento principale per questo calcolo. La sua sintassi è:
LAVORATIVO.GIORNI(data_inizio; data_fine; [festivi])
Esempio pratico:
- Inserisci la data di inizio in cella A1 (es. 01/01/2023)
- Inserisci la data di fine in cella B1 (es. 31/01/2023)
- Crea un elenco di festivi in un intervallo (es. D1:D10)
- Inserisci la formula:
=LAVORATIVO.GIORNI(A1;B1;D1:D10)
Metodo 2: Calcolare una Data Futura con Giorni Lavorativi
Se invece vuoi trovare una data futura aggiungendo un certo numero di giorni lavorativi, puoi usare la funzione LAVORATIVO (WORKDAY):
LAVORATIVO(data_inizio; giorni; [festivi])
Esempio: Per trovare la data 10 giorni lavorativi dopo il 15 marzo 2023:
=LAVORATIVO("15/03/2023"; 10; D1:D10)
Elenco dei Festivi Italiani 2023-2024
Per calcoli precisi, è fondamentale includere tutti i festivi nazionali e regionali. Ecco l’elenco ufficiale:
| Data | Festività | Tipo | Regioni Specifiche |
|---|---|---|---|
| 1 gennaio | Capodanno | Nazionale | Tutta Italia |
| 6 gennaio | Epifania | Nazionale | Tutta Italia |
| 10 aprile (2023) | Pasqua | Nazionale | Tutta Italia |
| 11 aprile (2023) | Lunedì dell’Angelo | Nazionale | Tutta Italia |
| 25 aprile | Festa della Liberazione | Nazionale | Tutta Italia |
| 1 maggio | Festa del Lavoro | Nazionale | Tutta Italia |
| 2 giugno | Festa della Repubblica | Nazionale | Tutta Italia |
| 15 agosto | Ferragosto | Nazionale | Tutta Italia |
| 1 novembre | Ognissanti | Nazionale | Tutta Italia |
| 8 dicembre | Immacolata Concezione | Nazionale | Tutta Italia |
| 25 dicembre | Natale | Nazionale | Tutta Italia |
| 26 dicembre | Santo Stefano | Nazionale | Tutta Italia |
| 24 giugno | San Giovanni | Regionale | Roma, Torino, Firenze, Genova |
Confronto tra Metodi di Calcolo
Ecco un confronto tra diversi approcci per calcolare i giorni lavorativi:
| Metodo | Precisione | Flessibilità | Complessità | Consigliato per |
|---|---|---|---|---|
| Funzione LAVORATIVO.GIORNI | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ | Calcoli standard con festivi fissi |
| Formule personalizzate con SE | ⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | Logiche complesse con eccezioni |
| VBA (Macro) | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | Automazioni avanzate e calcoli ricorrenti |
| Power Query | ⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ | Analisi di grandi dataset con date |
Errori Comuni e Come Evitarli
- Dimenticare i festivi regionali: Molti utenti includono solo i festivi nazionali, trascurando quelli specifici della loro regione (es. San Giovanni a Firenze). Soluzione: creare un elenco completo dei festivi pertinenti.
- Formato date errato: Excel potrebbe interpretare male le date se non sono nel formato corretto. Usa sempre il formato
GG/MM/AAAAoAAAA-MM-GGper evitare ambiguità. - Intervallo festivi non aggiornato: I festivi mobili (come Pasqua) cambiano ogni anno. Aggiorna sempre il tuo elenco di festivi per l’anno corrente.
- Confondere giorni lavorativi con giorni calendariali: La funzione
GIORNI(DAYS) calcola tutti i giorni, mentreLAVORATIVO.GIORNIesclude weekend e festivi.
Automazione con VBA per Calcoli Ricorrenti
Per chi deve eseguire questo calcolo frequentemente, una macro VBA può risparmiare molto tempo. Ecco un esempio di funzione personalizzata:
Function GiorniLavorativi(DataInizio As Date, NumGiorni As Integer, Optional Festivi As Range) As Date
Dim DataCorrente As Date
Dim GiorniAggiunti As Integer
Dim Festivo As Range
DataCorrente = DataInizio
GiorniAggiunti = 0
Do While GiorniAggiunti < NumGiorni
DataCorrente = DataCorrente + 1
' Controlla se è sabato (7) o domenica (1)
If Weekday(DataCorrente, vbSunday) <> 7 And Weekday(DataCorrente, vbSunday) <> 1 Then
' Controlla se è un festivo
If Not Festivi Is Nothing Then
For Each Festivo In Festivi
If DateValue(Festivo.Value) = DataCorrente Then
GoTo SkipDay
End If
Next Festivo
End If
GiorniAggiunti = GiorniAggiunti + 1
End If
SkipDay:
Loop
GiorniLavorativi = DataCorrente
End Function
Per utilizzarla:
- Apri l’editor VBA con
ALT + F11 - Inserisci un nuovo modulo e incolla il codice
- Torna a Excel e usa la formula come
=GiorniLavorativi(A1; 10; D1:D20)
Integrazione con Power Query per Analisi Avanzate
Power Query è uno strumento potente per gestire calcoli su grandi dataset. Ecco come calcolare giorni lavorativi tra due date in Power Query:
- Carica i tuoi dati in Power Query (Dati → Ottieni dati)
- Aggiungi una colonna personalizzata con questa formula M:
= List.Sum( List.Transform( {1..Number.From([GiorniTotali])}, each if Date.IsInNextNDays([DataInizio], _, Day.Monday to Day.Friday) and not List.Contains(Festivi, Date.AddDays([DataInizio], _)) then 1 else 0 ) ) - Assicurati di avere una lista chiamata “Festivi” con tutte le date festive
Fonti Ufficiali e Risorse Utili
Per informazioni aggiornate sui festivi italiani:
- Gazzetta Ufficiale della Repubblica Italiana – Pubblica i decreti ufficiali sui festivi nazionali
- ISTAT – Istituto Nazionale di Statistica – Fornisce dati sui giorni lavorativi medi in Italia
- Ministero del Lavoro e delle Politiche Sociali – Informazioni sulle normative relative ai giorni lavorativi
Per approfondire le funzioni di Excel:
- Supporto ufficiale Microsoft Excel – Documentazione dettagliata su tutte le funzioni
Domande Frequenti
1. Come gestire i festivi mobili come Pasqua?
Pasqua e il Lunedì dell’Angelo hanno date variabili ogni anno. Puoi calcolare la data di Pasqua con questa formula in Excel:
=DATA(ANNO(A1);4;1)+INT((14-(DATA(ANNO(A1);2;1)-DATA(ANNO(A1);2;1)/7+1)/7)+7)*7-6
Dove A1 contiene l’anno di riferimento. Per il Lunedì dell’Angelo, aggiungi 1 giorno alla data di Pasqua.
2. È possibile calcolare i giorni lavorativi tra due date in Google Sheets?
Sì, Google Sheets ha funzioni equivalenti:
NETWORKDAYS(equivalente a LAVORATIVO.GIORNI)WORKDAY(equivalente a LAVORATIVO)
La sintassi è identica a quella di Excel.
3. Come gestire i ponti e i giorni di chiusura aziendale?
Per includere giorni di chiusura aziendale specifici (es. chiusura estiva), aggiungili semplicemente all’elenco dei festivi nel terzo argomento delle funzioni LAVORATIVO.GIORNI o LAVORATIVO.
4. Posso calcolare i giorni lavorativi tra due orari specifici?
Le funzioni standard considerano solo le date complete. Per calcoli basati su orari, dovrai:
- Arrotondare all’inizio della giornata lavorativa (es. 09:00)
- Usare le funzioni standard per il calcolo
- Aggiustare manualmente il risultato in base agli orari specifici
5. Esiste un limite al numero di festivi che posso includere?
Excel può gestire fino a 255 argomenti in una formula, ma per gli elenchi di festivi è meglio:
- Usare un intervallo di celle (es. A1:A50)
- Per elenchi molto lunghi, considerare l’uso di una tabella Excel
- In VBA, puoi gestire elenchi praticamente illimitati
Conclusione e Best Practices
Calcolare correttamente i giorni lavorativi è essenziale per:
- Rispettare le scadenze contrattuali
- Pianificare le consegne logistiche
- Gestire i progetti secondo la metodologia Agile
- Calcolare i termini di prescrizione legale
Consigli finali:
- Mantieni sempre aggiornato l’elenco dei festivi per l’anno corrente
- Verifica i festivi regionali specifici per la tua area
- Usa il formato data ISO (AAAA-MM-GG) per evitare ambiguità
- Per calcoli complessi, considera l’uso di VBA o Power Query
- Documenta sempre le tue formule per facilitare la manutenzione
Con questi strumenti e conoscenze, sarai in grado di gestire qualsiasi calcolo di giorni lavorativi in Excel con precisione e affidabilità, sia per uso personale che professionale.