Как использовать функцию NETWORKDAYS в Excel — расчёт рабочих дней и часов

Функция NETWORKDAYS — удобный инструмент для расчёта числа рабочих дней между двумя датами. Это полезно при планировании задач, составлении графиков, выставлении счётов фрилансерам и управлении загрузкой команды. В этой статье подробно разберём синтаксис, конкретные примеры использования, распространённые ошибки и полезные приёмы для практического применения.
Что такое NETWORKDAYS в Excel
NETWORKDAYS — встроенная функция Excel (категория Дата/Время), которая возвращает количество рабочих дней между двумя датами. По умолчанию функция исключает субботу и воскресенье и может исключать дополнительные даты праздников, если вы их укажете.
Синтаксис функции:
=NETWORKDAYS(start_date, end_date, [holidays])- start_date: дата начала (формат даты).
- end_date: дата окончания (формат даты).
- [holidays]: необязательный диапазон или массив с праздничными датами, которые нужно исключить.
Коротко: функция считает дни календаря между start_date и end_date, вычитая все субботы, воскресенья и значения из holidays.
Быстрые примеры и ключевые сценарии
В этой секции — практические случаи использования, основанные на реальных задачах.
1. Подсчёт общего числа рабочих часов в месяце
Ситуация: у вас есть проект с датами начала и конца; вы хотите оценить, сколько рабочих дней и часов (при 8-часовом рабочем дне) попало в период с учётом праздников.
Инструкция:
- Запишите даты начала в колонке «Start» и даты окончания в колонке «End».
- Составьте список праздничных дат в отдельной колонке (например, H4:H10).
- В колонке с рабочими днями используйте формулу:
=NETWORKDAYS(F4,G4,$H$4:$H$10)- Чтобы получить часы, умножьте результат на 8 (или на количество часов рабочего дня):
=NETWORKDAYS(F4,G4,$H$4:$H$10)*8В примере для «Project A» функция вернёт 51 рабочий день и 408 часов.
2. Сколько рабочих дней осталось в текущем месяце
Задача: нужно узнать оставшиеся рабочие дни в месяце, начиная с произвольной даты (например, 15.10.2022).
Для этого сочетайте NETWORKDAYS и EOMONTH (конец месяца):
=NETWORKDAYS(D6,EOMONTH(D6,0),$E$6:$E$12)Где D6 — начальная дата (15.10.2022), EOMONTH(D6,0) возвращает 31.10.2022, а диапазон праздников исключается. В примере получится 10 рабочих дней.
3. Основной пример: рабочие дни между двумя датами
Допустим, нужно посчитать рабочие дни между 11.08.2022 и 31.12.2022 с учётом четырёх праздников в диапазоне C10:C13:
=NETWORKDAYS(A10,B10,$C$10:$C$13)В примере число рабочих дней равно 102. Если у вас нестандартные выходные (например, понедельник и вторник), используйте NETWORKDAYS.INTL.
Примечание: всегда удобнее выделять список праздников абсолютной ссылкой ($C$10:$C$13), чтобы не менять диапазон при копировании формул.
Когда NETWORKDAYS не подойдёт и альтернативы
- Нестандартные выходные (например, рабочая неделя с четверга по воскресенье) — используйте NETWORKDAYS.INTL.
- Если нужно сдвинуть дату на N рабочих дней (получить конечную дату) — используйте WORKDAY или WORKDAY.INTL.
- Если даты хранятся как текст (“15-10-2022”), сначала преобразуйте в дату функцией DATEVALUE или через корректный формат ячеек.
- Если в расчёте участвуют дробные рабочие дни или учет часов и перерывов — потребуется работа со временем (TIME) и более детальные расчёты по шаблонам смен.
Полезные советы и лучшие практики
- Всегда используйте абсолютные ссылки для диапазона праздников ($H$4:$H$10), чтобы при копировании формулы список праздников не смещался.
- Проверяйте формат ячеек: Excel распознаёт дату корректно только если ячейка — формат «Дата» или значение возвращает тип «Дата». В противном случае NETWORKDAYS вернёт ошибку или неверный результат.
- Если в ваших данных присутствуют временные компоненты (часы:минуты), предварительно отбросьте время функцией INT, чтобы оставить только дату.
- Для именованных списков праздников создайте диапазон (Formulas → Define Name) — это облегчает повторное использование.
Мини-методология: как встроить NETWORKDAYS в рабочий процесс проекта
- Подготовка: убедитесь, что все даты в таблице имеют формат ДАТЫ и что у вас есть централизованный список праздников.
- Применение: используйте NETWORKDAYS для расчёта доступных рабочих дней для каждой задачи/фазы.
- Конвертация: умножьте дни на стандартную длительность рабочего дня (обычно 8 ч) для оценки часов.
- Валидация: сверяйте результаты с реальными календарями и локальными выходными (региональные праздники).
- Автоматизация: вынесите формулы в шаблон и используйте именованные диапазоны для повторного использования.
Справочник формул — шпаргалка
- Подсчёт рабочих дней между A и B с учётом праздников в H:
=NETWORKDAYS(A2,B2,$H$2:$H$10)- Подсчёт рабочих часов при 8-часовом дне:
=NETWORKDAYS(A2,B2,$H$2:$H$10)*8- Когда выходные нестандартные (NETWORKDAYS.INTL):
=NETWORKDAYS.INTL(start,end,weekend,holidays)Параметр weekend — строка из 7 символов (1/0) или код; например “0000011” отмечает пятницу и субботу как выходные (в разных системах кодировка может отличаться).
- Сдвиг даты на N рабочих дней (WORKDAY):
=WORKDAY(start_date, days, [holidays])- Оставшиеся рабочие дни до конца месяца:
=NETWORKDAYS(today(),EOMONTH(today(),0),holidays)Проверка и типичные ошибки (Edge-case gallery)
- Праздник указан в виде текста, а не даты — Excel может не распознать и не исключить его.
- Использование локального формата дат (дд.мм.гггг) в файле с региональными настройками, где ожидается мм/дд/гггг — неверное распознавание дат.
- Положительные и отрицательные промежутки: NETWORKDAYS возвращает положительное число, когда end_date >= start_date; если end_date < start_date — результат может быть нулём или отрицательным в зависимости от версии Excel.
- Разные версии Excel/Google Sheets могут иметь тонкие отличия в поведении NETWORKDAYS и его расширений.
Роли и чек-листы (кто что делает)
Руководитель проекта:
- Убедиться, что в проекте корректные даты начала/окончания.
- Проверить список региональных праздников.
- Оценить ресурсы на основании рабочих дней.
HR / менеджер по персоналу:
- Обновлять централизованный список праздников и нерабочих дней.
- Проверять влияние праздничных дней на сводные отчёты рабочего времени.
Бухгалтер / фрилансер:
- Использовать NETWORKDAYS для расчёта оплачиваемых дней/часов и выставления счетов.
Аналитик/Excel-разработчик:
- Внедрять именованные диапазоны для праздников и шаблоны с формулами.
- Тестировать формулы на граничных датах.
Примеры тест-кейсов для проверки формул
- Обычный период без праздников: start=01.03.2023, end=31.03.2023 → ожидаем количество рабочих дней для марта без праздников.
- Период, включающий праздник в середине: убедиться, что итог уменьшился на 1.
- Нестандартные выходные: проверить NETWORKDAYS.INTL с заданной маской.
- Даты с временными метками: проверить результат после применения INT(start_date).
Ментальные модели и эвристики
- Представляйте рабочие дни как «фильтр» над календарём: берёте полный календарь и выкидываете то, что не является рабочим.
- Разделяйте планирование (когда должна закончиться задача) и учёт (сколько часов реально потрачено).
- Всегда думайте об исключениях: аварийные выходные, региональные праздники, срочные изменения графика.
Decision flow (короткая диаграмма)
flowchart TD
A[Нужно посчитать рабочие дни?] --> B{Выходные стандартные?}
B -- Да --> C[Использовать NETWORKDAYS]
B -- Нет --> D[Использовать NETWORKDAYS.INTL]
C --> E{Нужно сдвинуть дату?}
D --> E
E -- Да --> F[Использовать WORKDAY / WORKDAY.INTL]
E -- Нет --> G[Финиш: получить число рабочих дней]Критерии приёмки
- Формулы возвращают ожидаемые значения для 5 тестовых периодов, включая пограничные даты и праздничные дни.
- Список праздников использует именованный диапазон и абсолютные ссылки в шаблоне.
- Результаты валидированы с локальным календарём и согласованы с командой.
Короткая сводка и рекомендации
- NETWORKDAYS отлично подходит для оценки доступных рабочих дней в стандартной рабочей неделе (сб/вс).
- Для гибкой настройки выходных и сдвига дат используйте NETWORKDAYS.INTL и WORKDAY.INTL.
- Настройте именованные диапазоны для праздников и всегда проверяйте формат дат.
Важно: в разных локалях Excel имена функций могут быть переведены; если у вас русскоязычная версия Excel и локализованные функции вызывают проблемы, проверьте официальную документацию вашего продукта.
Итог: освоение NETWORKDAYS и соседних функций значительно ускоряет расчёт сроков, упрощает выставление счётов и помогает управлять ресурсами. Начните с малого шаблона и постепенно расширяйте расчёты под ваш бизнес-процесс.
Похожие материалы
Несколько USB‑микрофонов в GarageBand
Как немедленно установить Windows 11
Папка по умолчанию для сохранения в Microsoft Office
Масштабирование дисплея в Windows — 4K и мульти‑мониторы
VPN на Chromebook: настройка и советы