
Formula generică
=WORKDAY(date-1,1,holidays)=date
rezumat
Pentru a determina dacă o dată este sau nu zi lucrătoare, puteți utiliza o formulă bazată pe funcția WORKDAY. În exemplul prezentat, formula din C5 este:
=WORKDAY(B5-1,1,holidays)=B5
unde „sărbători” este gama numită E5: E6.
Formula de mai sus returnează ADEVĂRAT, deoarece luni, 21 decembrie 2015 este o zi lucrătoare.
Explicaţie
Funcția WORKDAY calculează datele din viitor sau trecut care sunt (prin definiție) „zile lucrătoare”. Cu alte cuvinte, WORKDAY exclude automat weekendurile și (opțional) sărbătorile. WORKDAY acceptă 3 argumente: start_date, zile și un (opțional) sărbători.
Deoarece vrem să verificăm o singură dată și să obținem un rezultat ADEVĂRAT sau FALS, în mod ideal am folosi WORKDAY cu formula simplă de mai jos:
=WORKDAY(date,0)
Cu toate acestea, acest lucru nu funcționează, deoarece WORKDAY nu pare să evalueze o dată când nu este prezent niciun offset.
Soluția este aprovizionarea (data-1) pentru start_date, 1 pentru zile și gama denumită „sărbători” (E5: E6) pentru sărbători.
Acest lucru face ca WORKDAY să se retragă într-o zi, apoi să adauge 1 zi la rezultat, ținând cont de weekend și de sărbători. Efectiv, suntem „pacalirea“ WORKDAY în evaluarea start_date .
Când data cade într-un weekend sau o sărbătoare, WEEKDAY va ajusta automat data înainte în următoarea zi lucrătoare.
În cele din urmă, comparăm data inițială start_data cu rezultatul funcției WORKDAY. Dacă datele sunt aceleași (adică rezultatul WORKDAY este egal cu start_date, formula returnează TRUE. Dacă nu, formula returnează FALSE.
Asigurați-vă că o dată calculată cade într-o zi lucrătoare
Pentru a vă asigura că orice dată calculată aterizează într-o zi lucrătoare, puteți utiliza următoarea formulă:
=WORKDAY(calc_date-1,1,holidays)
Notă - dacă aveți nevoie de weekenduri personalizate, utilizați funcția WORKDAY.INTL.