LinkedIn Facebook

HomeBlog › Excel: Excel lavorare con le date

Excel lavorare con le date

Calcolare i giorni di calendario o i giorni lavorativi tra due date

Il calcolo della differenza tra due date è un argomento su cui vale la pena di soffermarsi, perché è molto richiesto e, soprattutto, può comportare diverse implicazioni.
La differenza può essere espressa in giorni e mesi e, se le date sono spalmate su anni differenti, anche in anni.
La data iniziale o la data finale possono essere fisse oppure mobili (ad esempio per il compleanno) e la differenza in mesi ed in anni può essere approssimativa (ad esempio tra il 23/7 ed il 3/11 sono passati 4 mesi) o esatta (tra il 23/7 ed il 3/11 sono passati 3 mesi ed 11 giorni).
La differenza tra due giorni può essere assoluta o magari è necessario esprimerla in giorni lavorativi.
Come si vede, le casistiche possibili sono molteplici. La semplice differenza tra due date in giorni è semplice. In una cella c'è una data, nell'altra cella c'è un'altra data che è posteriore alla prima.
Un esempio (vedi figura) può essere la data di emissione di un bando e la data di scadenza di un bando. Nella terza cella va calcolata la differenza in giorni assoluti tra le due date.
L'operazione da fare è semplicemente sottrarre alla data finale la data iniziale. La formula nella cella C2 è, pertanto, =B2-A2.
A partire dalla versione 2013, è stata introdotta una funzione specifica di data ed ora che si chiama GIORNI i cui argomenti sono l'indicazione della cella che contiene la data finale e di quella che contiene la data iniziale.
La sintassi precisa della funzione immessa nella cella D1 nell'esempio raffigurato è =GIORNI(B2;A2).
Come si vede, in entrambi i casi l'utilizzo della formula di sottrazione o della funzione GIORNI sono estremamente semplici.



Nel caso la differenza preveda che una delle due date non sia statica ma dinamica (ad esempio calcolare i giorni che mancano dalla data odierna alla data di una scadenza) basta scrivere la funzione =OGGI() nella cella che deve contenere la data dinamica oppure nidificare direttamente questa funzione all'interno della formule.
La situazione diventa molto interessante se la differenza tra le due date non va espressa in termini di giorni assoluti, ma di giorni lavorativi.
Supponiamo che le due date dell'esempio precedente si riferiscano alla data di inizio di un progetto ed alla data della sua conclusione.
In questo caso ci interessa sapere quanti giorni lavorativi effettivi intercorrono tra le due date. Quando si parla di giorni lavorativi si intende due cose:

• I sabati e le domeniche.

• Le festività nazionali, le festività comandate e quelle cittadine.

La soluzione esiste e si chiama GIORNI.LAVORATIVI.TOT.
Si tratta di un'altra funzione di data ed ora disponibile in Excel.
Gli argomenti richiesti dalla funzione sono 3: la cella che contiene la data iniziale, la cella che contiene la data finale e l'indicazione delle varie festività di cui tenere conto.
I sabati e le domeniche sono già esclusi dal calcolo, mentre le festività vanno indicate in un'area a parte del foglio di lavoro, come accade nell'esempio che viene illustrato a seguire.

• Nella cella E2 c'è il computo dei giorni lavorativi tra le due date includendo solo i sabati le domeniche. La funzione immessa è la seguente: =GIORNI.LAVORATIVI.TOT(A2;B2). A2 è la celle con la data iniziale, B2 quella con la data finale.

• Nella cella F2 si tiene conto anche delle festività che sono state inserite in un intervallo formattato come tabella nell'intervallo celle J2:K15. In realtà l'intervallo che influisce realmente sulla funzione è quello che va da J2 a J15, mentre nella analoghe celle della colonna K è stata immessa solo una descrizione della festività che non ha a che fare con la funzione. In questo caso la funzione immessa è la seguente: =GIORNI.LAVORATIVI.TOT(A2;B2;TabellaVacanze[Data]). La colonna DATA della tabella che è stata rinominata "TabellaVacanze" è l'intervallo con le festività. Il risultato della funzione restituisce 45 giorni anziché 47 come la funzione precedente. In realtà, ci sono 3 festività tra le due date (25/4, 1/5 e 2/6) ma una di queste date (2/6) nell' anno preso in esame cade di domenica per cui viene già esclusa dal calcolo. Le festività nell'intervallo considerato sono 2 ed il risultato delle due funzioni differisce, infatti, di 2 giornate.



N.B: Esiste anche una funzione internazionale della funzione, che si chiama GIORNI.LAVORATIVI.TOT.INTL.

In questo caso, oltre alla data di inizio, alla data di fine ed all'elenco delle festività vigenti in un determinato paese, occorre anche indicare con una numerazione apposita (consultabile sulla guida in linea) i giorni festivi del paese.
Le opzioni sono varie a seconda dei paesi (ad esempio i paesi dove i giorni festivi sono domenica o lunedì, quelli in cui la sola festività è domenica e via dicendo).
Negli esempi appena visti, veniva indicata una data di inizio ed una data di fine e si voleva conoscere il numero di giorni assoluti o lavorativi che intercorrono tra le due date.
Può verificarsi il caso che si abbia una data di inizio e che sia stato indicato un numero determinato di giorni.
Ad esempio, un progetto inizia il giorno 27/3/2018 e richiede 45 giorni per la sue realizzazione.
In questo caso la nostra "incognita" è la data di fine del progetto. Ancora una volta la domanda da porsi è la seguente: i giorni sono assoluti o lavorativi?

• Nel caso di giorni assoluti, la soluzione è una semplice addizione. Alla data iniziale vanno aggiunti i giorni previsti. Nel caso che viene illustrato nell'immagine posta qualche riga più in basso, il risultato dell'esempio è 11/5/2018 (45 giorni a partire dal 27/3/2018). La formula poste nella cella C2 è semplicemente =A2+B2.

• Nel caso di giorni lavorativi, esiste una funzione apposita che si chiama GIORNO.LAVORATIVO i cui argomenti sono la data di inizio, il numero di giorni e la solita tabella con le indicazioni delle festività nazionali. Come nella funzione GIORNI.LAVORATIVI.TOT, anche in questo caso l'esclusione dei sabati e delle domeniche è implicita nella funzione. Il risultato della funzione è molto diverso: la fine prevista è il 01/06 invece dell'11/5. Una bella differenza! Nel calcolo sono considerati i sabati e le domeniche più le festività del 2/4/2018 (Lunedì dell'Angelo), 25/4 e 1/5. La funzione digitata nella cella D2 è =GIORNO.LAVORATIVO(A2;B2;TabellaVacanze3[Data])



Due notazioni conclusive.

• Entrambe le modalità di calcolo di un determinato numero di giorni a partire da una data, deve tenere conto di un aspetto che è molto importante e che un esempio più semplice può chiarire. Si supponga di avere come data iniziale 3/9/2018 e voler calcolare 3 giorni. Siccome il 3/9 è un lunedì e con il calcolo di 3 giorni non si arriva al fine settimana, entrambe le funzioni restituiscono lo stesso risultato ovvero 6/9. L'aspetto da considerare è se il giorno conclusivo vada considerato oppure no. I giorni 3, 4, 5 e 6 settembre in realtà sono 4. Se fossimo un albergo e dovessimo calcolare la data di partenza del cliente la soluzione andrebbe bene perché quello che conta sono le notti ed il 6 settembre il cliente se ne andrà. Ma in altri casi, se il progetto richiede 3 giorni lavorativi, allora il progetto che inizia il 3 settembre finisce il 5 settembre. In questo caso alla formula va sottratto il valore 1, ovvero, ad esempio, A2+B2-1

• Anche la funzione GIORNO.LAVORATIVO ha una sua versione internazionale che si chiama GIORNO.LAVORATIVO.INTL che tiene conto della presenza di giorni festivi diversi dal sabato e domenica a seconda del paese preso in esame.


Se l'articolo è stato utile, seguimi sui Social networks cliccando i pulsanti in alto a destra di questa pagina.

Se vuoi condividere questo articolo nella tua Rete Social, puoi utilizzare i bottoni Social a sinistra