Чтобы сделать это, я бы использовал функцию WORKDAY вместе со столбцом индекса, чтобы мы могли работать через все дни месяца:
=IF(MONTH(WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4))<>MONTH(DATEVALUE($B$1&" 1")),
"",
WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4)
)
Это выглядит сложно, но довольно просто, когдаты разбиваешь его на куски. Вот изображение, которое может помочь:
Давайте начнем с этой части формулы:
MONTH(DATEVALUE($B$1&" 1"))
Все это делает, преобразует название месяца в число месяца.
WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4)
Это часть формулы, которая выполняет большую часть работы. Он создает дату из предоставленного месяца / года, добавляет соответствующее количество рабочих дней в зависимости от текущей строки (столбец индекса) и с учетом списка банковских праздников).
IF(MONTH(WORKDAY(DATE($C$1,MONTH(DATEVALUE($B$1&" 1")),0),$A2,$F$2:$F$4))<>MONTH(DATEVALUE($B$1&" 1")),
"",
Эта часть выглядиточень сложный, но на самом деле это всего лишь копия приведенной выше формулы, которая сравнивает ее с указанным месяцем. Если оно отличается (то есть мы прошли конец интересующего нас месяца), вместо даты возвращается пустая строка.