
Общая формула
=WORKDAY(A1,1,holidays)
Резюме
Чтобы сгенерировать динамический ряд дат, которые являются только рабочими днями (т.е. с понедельника по пятницу), вы можете использовать функцию РАБДЕНЬ. В показанном примере формула B6:
=WORKDAY(B5,1,holidays)
где праздники - именованный диапазон E5: E6.
Объяснение
С заданной начальной датой функция РАБДЕНЬ вернет дату, которая не является выходным или праздничным днем, n дней в будущем или прошлом. Аргумент праздники не является обязательным и может быть опущен. В примере B5 - жестко заданная дата начала. Формула ниже в B6, скопированная ниже:
=WORKDAY(B5,1,holidays)
Поскольку для аргумента days установлено значение 1, формула возвращает «следующий рабочий день» в каждой новой строке. Праздники представлены в виде именованного диапазона E5: E6, который содержит даты. Обратите внимание: 24 и 25 декабря исключены из списка, так как эти дни являются праздничными.
Все даты отформатированы в произвольном числовом формате «ддд д-ммм-гггг».
Пользовательские выходные
Если вам нужно учитывать настраиваемые выходные дни (например, выходные - только суббота, воскресенье и понедельник и т. Д.), Вам необходимо переключиться на более надежную функцию WORKDAY.INTL, которая позволяет вам установить, какие дни недели считаются. считается выходным днем, задав аргумент выходного дня в виде специального кода, как объясняется в этом примере.
Другой путь
Вы также можете создать серию рабочих дней с помощью формулы, в которой используется функция ДЕНЬНЕД. В этом случае формула проверяет дату начала, чтобы узнать, суббота она или нет. Если да, то к дате начала добавляется 3 дня. Если нет, добавляется только один день.
=IF(WEEKDAY(date)=6,date+3,date+1)