Formula di Excel: la data è giorno lavorativo -

Sommario

Formula generica

=WORKDAY(date-1,1,holidays)=date

Sommario

Per determinare se una data è un giorno lavorativo o meno, è possibile utilizzare una formula basata sulla funzione GIORNO LAVORATIVO. Nell'esempio mostrato, la formula in C5 è:

=WORKDAY(B5-1,1,holidays)=B5

dove "vacanze" è l'intervallo denominato E5: E6.

La formula sopra restituisce VERO, poiché lunedì 21 dicembre 2015 è un giorno lavorativo.

Spiegazione

La funzione GIORNO LAVORATIVO calcola le date future o passate che sono (per definizione) "giorni feriali". In altre parole, GIORNO LAVORATIVO esclude automaticamente i fine settimana e (facoltativamente) i giorni festivi. GIORNO LAVORATIVO accetta 3 argomenti: data_inizio, giorni e festività (facoltativamente).

Poiché vogliamo controllare una singola data e ottenere un risultato VERO o FALSO, dovremmo idealmente utilizzare GIORNO LAVORATIVO con la semplice formula di seguito:

=WORKDAY(date,0)

Tuttavia, questo non funziona, poiché WORKDAY non sembra valutare una data quando non è presente alcun offset.

La soluzione è supply (date-1) per start_date, 1 per giorni e l'intervallo denominato "vacanze" (E5: E6) per festività.

Questo fa sì che GIORNO LAVORATIVO indietreggi di un giorno, quindi aggiungi 1 giorno al risultato, tenendo conto dei fine settimana e delle festività. In effetti, stiamo "ingannando" il GIORNO LAVORATIVO nella valutazione della data_inizio .

Quando la data cade in un fine settimana o in un giorno festivo, WEEKDAY regolerà automaticamente la data in avanti fino al giorno lavorativo successivo.

Infine, confrontiamo la data_inizio originale con il risultato della funzione GIORNO LAVORATIVO. Se le date sono le stesse (cioè il risultato di WORKDAY è uguale a start_date, la formula restituisce TRUE. In caso contrario, la formula restituisce FALSE.

Assicurati che una data calcolata cada in un giorno lavorativo

Per assicurarti che qualsiasi data calcolata arrivi in ​​un giorno lavorativo, puoi utilizzare la seguente formula:

=WORKDAY(calc_date-1,1,holidays)

Nota: se hai bisogno di fine settimana personalizzati, usa la funzione WORKDAY.INTL.

Articoli interessanti...