
Обща формула
=WORKDAY(A1,1,holidays)
Обобщение
За да генерирате динамична поредица от дати, които са само работни дни (т.е. от понеделник до петък), можете да използвате функцията WORKDAY. В показания пример формулата в B6 е:
=WORKDAY(B5,1,holidays)
където празниците е наименуваният диапазон E5: E6.
Обяснение
С дадена начална дата функцията WORKDAY ще върне дата, която не е уикенд или празник, n дни в бъдещето или миналото. Аргументът празници не е задължителен и може да бъде пропуснат. В примера B5 е твърдо кодирана начална дата. Формулата по-долу в B6, копирана надолу, е:
=WORKDAY(B5,1,holidays)
Тъй като аргументът days е зададен на 1, формулата връща „следващия работен ден“ за всеки нов ред. Празниците се предоставят като посочения диапазон E5: E6, който съдържа дати. Забележете, че 24 и 25 декември са изключени от списъка, тъй като тези дни са празнични.
Всички дати са форматирани с персонализиран формат на числото "ddd d-mmm-yyyy".
Персонализирани уикенди
Ако трябва да вземете предвид персонализирани уикенди (т.е. уикендите са само събота, неделя и понеделник и т.н.), ще трябва да преминете към по-стабилната функция WORKDAY.INTL, която ви позволява да зададете кои дни от седмицата се считат за считани за уикенди, като предоставят аргумент за уикенд под формата на специален код, както е обяснено в този пример.
Друг начин
Можете също така да генерирате поредица от работни дни с формула, която използва функцията WEEKDAY. В този случай формулата тества началната дата, за да провери дали е събота или не. Ако е така, към началната дата се добавят 3 дни. Ако не, се добавя само един ден.
=IF(WEEKDAY(date)=6,date+3,date+1)