Как написать рабочие дни в месяце, используя Excel? - PullRequest
0 голосов
/ 30 сентября 2019

В настоящее время у меня небольшая проблема. Я пытаюсь создать шаблон, который будет автоматически записывать все рабочие дни в выбранном месяце (месяц и год будут в ячейках A1 и B1). Может кто-нибудь дать мне совет? Я пытался поиграться с некоторыми функциями, но должен сказать, что понятия не имею, как этого добиться

1 Ответ

0 голосов
/ 30 сентября 2019

Чтобы сделать это, я бы использовал функцию 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)
)

Это выглядит сложно, но довольно просто, когдаты разбиваешь его на куски. Вот изображение, которое может помочь:

enter image description here

Давайте начнем с этой части формулы:

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")),
    "",

Эта часть выглядиточень сложный, но на самом деле это всего лишь копия приведенной выше формулы, которая сравнивает ее с указанным месяцем. Если оно отличается (то есть мы прошли конец интересующего нас месяца), вместо даты возвращается пустая строка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...