Determinare se una data e un’ora rientrano nell’orario di lavoro (Microsoft Excel)
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.