Формула на Excel: Датата е работен ден -

Съдържание

Обща формула

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

Обобщение

За да определите дали датата е работен ден или не, можете да използвате формула, базирана на функцията WORKDAY. В показания пример формулата в C5 е:

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

където "празници" е наименуваният диапазон E5: E6.

Формулата по-горе връща TRUE, тъй като понеделник, 21 декември 2015 г. е работен ден.

Обяснение

Функцията WORKDAY изчислява дати в бъдещето или миналото, които са (по дефиниция) „работни дни“. С други думи, WORKDAY автоматично изключва почивните дни и (по желание) празниците. WORKDAY приема 3 аргумента: start_date, дни и (по желание) празници.

Тъй като искаме да проверим една дата и да получим TRUE или FALSE резултат, в идеалния случай бихме използвали WORKDAY с простата формула по-долу:

=WORKDAY(date,0)

Това обаче не работи, тъй като WORKDAY изглежда не оценява дата, когато няма компенсиране.

Решението е доставка (дата-1) за начална дата, 1 за дни и посоченият диапазон "празници" (E5: E6) за празници.

Това кара WORKDAY да отстъпи един ден назад, след това да добави 1 ден към резултата, като се вземат предвид почивните и празничните дни. На практика ние се "разиграва" WORKDAY в оценката на начална_дата .

Когато датата падне през уикенд или празник, WEEKDAY автоматично ще коригира датата напред към следващия работен ден.

И накрая, сравняваме първоначалната начална дата с резултата от функцията WORKDAY. Ако датите са едни и същи (т.е. резултатът от WORKDAY е равен на start_date, формулата връща TRUE. Ако не, формулата връща FALSE.

Уверете се, че изчислената дата пада в работен ден

За да сте сигурни, че някоя изчислена дата се приземява в работен ден, можете да използвате следната формула:

=WORKDAY(calc_date-1,1,holidays)

Забележка - ако имате нужда от персонализирани уикенди, използвайте функцията WORKDAY.INTL.

Интересни статии...