Бухгалтерам часто нужно подсчитать количество рабочих дней в месяце, или между двух дат. Специально для этого в Эксель есть функция (и в гугл таблицах тоже):
ЧИСТРАБДНИ (NETWORKDAYS)
Эта функция принимает первым аргументом начало периода, а вторым — конец. И выводит количество рабочих дней между этими двумя датами.
Введем в ячейке A1 функцияю ЧИСТРАБДНИ, а в A4 и A5 — начало и конец периода, и укажем эти ячейки, как аргумент функции.
Но просто вычесть субботу и воскресенье — ума много не надо. Наверное, такую функцию можно было бы реализовать самостоятельно. Нужно еще и вычитать праздничные дни. Поэтому в функции ЧИСТРАБДНИ можно указать третий аргумент: список всех праздничных дней.
Еще бы их добавить автоматически... Для этого можем воспользоваться одним из сервисов в интернете, например, http://xmlcalendar.ru, который позволяет загрузить производственный календарь в виде XML. Этот XML файл можно импортировать в Эксель:
Прежде чем импортировать, нужно развернуть таблицу Days (клик на слове Table в колонке Days)
...и таблицу Day (аналогично, клик на слове Table в колонке Day)
Таким образом мы получили таблицу со всеми праздничными днями в году:
Только проблема в том, что дата в колонке A хранится как текст. Добавим колонку E (назовем ее Дата) и вставим следующую формулу:
=ДАТА(2021,ЗНАЧЕН(ЛЕВСИМВ([@[Attribute:d]],ПОИСК(".",[@[Attribute:d]])-1)),ЗНАЧЕН(ПРАВСИМВ([@[Attribute:d]],ДЛСТР([@[Attribute:d]])-ПОИСК(".",[@[Attribute:d]]))))
=DATE(2021,VALUE(LEFT([@[Attribute:d]],FIND(".",[@[Attribute:d]])-1)),VALUE(RIGHT([@[Attribute:d]],LEN([@[Attribute:d]])-FIND(".",[@[Attribute:d]]))))
Получаем список, уже с колонкой дат.
Осталось дело за малым — добавить эту колонку, как аргумент в функцию ЧИСТРАБДНИ:
Теперь мы получили правильный результат!