Dan sta configurando un foglio di lavoro da utilizzare nella sua azienda e ha bisogno di un modo per calcolare il primo giorno lavorativo di un mese calendar. Sa come calcolare il primo giorno di un mese, ma quel giorno potrebbe eventualmente cadere in un fine settimana o in una vacanza.

Il modo più semplice per calcolare il primo giorno della settimana di un dato mese è usare la funzione GIORNO LAVORATIVO, in questo modo:

=WORKDAY(EOMONTH(A1,-1), 1)

Questa formula trova il primo giorno della settimana del mese di qualunque data si trovi nella cella A1. La funzione EOMONTH restituisce l’ultimo giorno del mese precedente alla data nella cella A1, quindi la funzione WORKDAY restituisce il primo giorno della settimana del mese successivo.

La funzione è composta in questo modo (usando EOMONTH) perché WORKDAY è un po ‘bizzarro; si presume che il primo parametro sia un giorno lavorativo valido.

Ciò significa che non controlla se la data utilizzata nel parametro rientra nella settimana lavorativa dal lunedì al venerdì. Forzando il parametro ad essere un giorno prima del mese in cui si desidera determinare il primo giorno lavorativo e impostando il secondo parametro su 1, la funzione restituisce il primo giorno della settimana effettivo per il mese desiderato.

La funzione GIORNO LAVORATIVO consente inoltre di specificare facoltativamente che le festività devono essere prese in considerazione. Il modo più semplice per farlo è impostare un elenco di date di festività, in un intervallo di celle, quindi assegnare un nome a tale intervallo. (Il modo in cui si denomina un intervallo è discusso in altri numeri di ExcelTips.) Se si assegna all’intervallo un nome come MyHolidays, è possibile utilizzare la seguente versione della formula:

=WORKDAY(EOMONTH(A1,-1), 1, MyHolidays)

Ecco un bel trucco se vuoi calcolare l’inizio della giornata lavorativa per un dato mese in un anno. Si supponga che la cella A1 contenga un anno, ad esempio 2020, e che la cella A2 contenga un numero di mese, da 1 a 12, che rappresenta il mese per il quale si desidera iniziare la giornata lavorativa. È quindi possibile utilizzare questa formula per ottenere la data desiderata:

=WORKDAY(DATE(A1,A2,0), 1, MyHolidays)

Il modo in cui viene utilizzata la funzione DATA in questa formula restituisce l’ultimo giorno del mese precedente al mese e all’anno specificati nelle celle A2 e A1.

Il secondo parametro per GIORNO LAVORATIVO (1) passa quindi al giorno lavorativo successivo. MyHolidays (come prima) tiene conto di tutte le festività che possono verificarsi in quel mese.

La funzione GIORNO LAVORATIVO funziona bene per le date negli Stati Uniti, ma diventa un po ‘più difficile se hai bisogno di giorni feriali in altri paesi. In tal caso, prova a utilizzare la funzione WORKDAY.INTL (introdotta a partire da Excel 2010) per vedere se farà il trucco per te. È molto più flessibile nel modo in cui consente la designazione di fine settimana e giorni festivi.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (10201) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: