Ken ha una data e un’ora memorizzate nella cella C3. Ha bisogno di una formula per determinare se questa data e ora rientrano nel normale orario di lavoro (dalle 8:00 alle 17:00, dal lunedì al venerdì). Ken può facilmente controllare l’ora, ma non riesce a trovare un modo per controllare se è un giorno lavorativo.

Ci sono una moltitudine di formule che potresti inventare per risolvere questa situazione. I componenti chiave di qualsiasi formula sono che si determina se la data è compresa nell’intervallo dal lunedì al venerdì (cosa che Ken dice di sapere come fare) e si determina se l’ora è compresa tra le 8:00 e le 17:00. Dopo aver determinato questi due fatti, è possibile utilizzare la funzione AND per determinare una condizione “vera” o “falsa” complessiva.

Ad esempio, è possibile utilizzare la seguente formula per determinare se la data è nell’intervallo dal lunedì al venerdì:

=WEEKDAY(C3, 2) < 6

Restituisce True o False e funziona perché il secondo parametro della funzione WEEKDAY, se impostato su 2, indica che WEEKDAY restituisce un valore compreso tra 1 e 7 dove 1 = lunedì e 7 = domenica. Pertanto, WEEKDAY restituirà 1, 2, 3, 4 o 5 per l’intervallo dal lunedì al venerdì.

Per la parte temporale della formula, è possibile utilizzare la funzione ORA, in questo modo:

=HOUR(C3) >= 8

Restituisce Vero o Falso a seconda che l’ora sia maggiore o uguale alle 8:00. Puoi testare, allo stesso modo, se l’ora è prima delle 17:00 in questo modo:

=HOUR(C3) <= 17

Una volta individuati questi tre test, puoi combinarli tutti usando la funzione AND:

=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) >= 8, HOUR(C3) <= 17)

Poiché la funzione HOUR restituisce un valore intero (da 0 a 23), è possibile abbreviare ulteriormente la formula in questo modo:

=AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18)

Se tutte e tre le condizioni sono soddisfatte, la funzione AND restituisce True.

Quindi, potresti racchiudere questa formula all’interno di un’istruzione IF, in questo modo:

=IF(AND(WEEKDAY(C3, 2) < 6, HOUR(C3) > 7, HOUR(C3) < 18), "Working", "Non-Working")

Funziona benissimo, a meno che tu non voglia iniziare a prendere in considerazione le festività o che la tua settimana lavorativa sia diversa da quella dal lunedì al venerdì. In tal caso, è sufficiente modificare la prima parte della formula; la parte che utilizza la funzione WEEKDAY. Il mio suggerimento sarebbe di fare affidamento, invece, sulle funzioni NETWORKDAYS o NETWORKDAYS.INTL. Piuttosto che descrivere qui come utilizzare queste funzioni, ti consigliamo di fare riferimento a ExcelTip intitolato ” Calculating Business Days .”

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

Questo suggerimento (4270) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.