Функция NETWORKDAYS в Excel: расчёт рабочих дней и часов
Функция NETWORKDAYS — удобный инструмент для вычисления числа рабочих дней между двумя датами. Она полезна при планировании проектов, приоритизации задач и оценке занятости сотрудников или фрилансеров. В этой статье вы найдёте практические примеры, советы по использованию, альтернативы и контрольный список для внедрения в рабочие процессы.
Что такое NETWORKDAYS в Excel?
NETWORKDAYS — встроенная функция Excel (категория Дата/Время), которая возвращает количество рабочих дней между двумя датами. По умолчанию функция учитывает стандартные выходные — субботу и воскресенье — и позволяет исключать дополнительные даты праздников.
Синтаксис:
=NETWORKDAYS(start_date, end_date, [holidays])Краткое определение параметров:
- start_date — дата начала (формат даты).
- end_date — дата завершения (формат даты).
- [holidays] — необязательный диапазон с датами праздников, которые нужно исключить.
Важно: функция всегда считает оба конца диапазона включительно — если start_date и end_date совпадают и это рабочий день, функция вернёт 1.
Когда использовать NETWORKDAYS
NETWORKDAYS полезна в случаях:
- Оценки реального количества рабочих дней для выполнения задачи или проекта.
- Подсчёта рабочих часов для выставления счёта (умножив рабочие дни на стандартные часы в день).
- Планирования сроков с учётом праздничных дней и стандартных выходных.
Ниже — несколько типичных сценариев и подробные шаги.
Пример 1 — Подсчёт суммарных рабочих часов в месяце
Шаги:
- Введите в таблицу даты начала и окончания проектов, список праздников и прочие поля (пример на новой вкладке).
- В столбце с праздниками перечислите даты, которые нужно исключить (в примере — диапазон Column H, семь дат).
- Вставьте функцию NETWORKDAYS в столбец I, чтобы получить количество рабочих дней:
=NETWORKDAYS(F4,G4,$H$4:$H$10)- Чтобы получить часы (при стандартном 8-часовом рабочем дне), умножьте количество рабочих дней на 8 в столбце J:
=NETWORKDAYS(F4,G4,$H$4:$H$10)*8В примере для «Project A» функция вернула 51 рабочий день, что при 8 часах в день даёт 408 часов.
Пример 2 — Сколько рабочих дней осталось в месяце
Задача: рассчитать количество рабочих дней с произвольной даты до конца месяца. Для этого удобно комбинировать NETWORKDAYS и EOMONTH.
Допустим, текущая дата — 15.10.2022. Чтобы получить оставшиеся рабочие дни до конца октября 2022:
=NETWORKDAYS(D6, EOMONTH(D6, 0), $E$6:$E$12)Где D6 = 15.10.2022, а $E$6:$E$12 — диапазон праздников. В примере результат составил 10 рабочих дней (15.10.2022 по 31.10.2022).
Практическое руководство: как применить NETWORKDAYS шаг за шагом
- Создайте лист и зарегистрируйте столбцы: «Start date», «End date», «Holidays».
- Убедитесь, что даты отформатированы как даты.
- Введите формулу:
=NETWORKDAYS(A10, B10, $C$10:$C$13)(абсолютные ссылки на список праздников помогают копировать формулы без ошибок).
- Если в вашей организации выходные дни отличаются от субботы/воскресенья (например, пятница/суббота или любые другие комбинации), используйте NETWORKDAYS.INTL.
Полезный совет: всегда используйте абсолютные ссылки для диапазона праздников (например, $C$10:$C$13), чтобы при копировании формул ссылки не смещались.
Когда NETWORKDAYS не подходит (ограничения и случаи отказа)
- Нестандартные выходные: если дни выходных отличаются от субботы/воскресенья, NETWORKDAYS даёт неправильный результат — используйте NETWORKDAYS.INTL.
- Частичные рабочие дни: если нужно учитывать половину дня, часы входа/выхода или переменный график, одна только NETWORKDAYS недостаточна — прибавьте корректировки по часам.
- Часовые пояса и временные метки: функция оперирует датами без временной части — для точного учёта времени используйте расчёты с датой+время.
- Непрерывные вычисления в больших наборах данных: при очень больших таблицах формулы могут замедлять файл — рассмотрите Power Query или скрипты.
Альтернативы и расширения
- NETWORKDAYS.INTL(start, end, weekend, [holidays]) — позволяет задать шаблон выходных (например, “0000011” где 1 — выходной).
- WORKDAY / WORKDAY.INTL — добавляют N рабочих дней к дате и возвращают дату.
- Power Query / Power BI — для пакетной обработки больших наборов данных и сложных правил рабочего времени.
- VBA / Google Apps Script — автоматизация кастомных расчётов (например, учёт сменного графика).
Пример использования NETWORKDAYS.INTL:
=NETWORKDAYS.INTL(A2, B2, "0000110", $H$2:$H$10)Где строка шаблона определяет, какие дни недели считаются выходными (порядок — понедельник → воскресенье).
Быстрая шпаргалка: формулы и шаблоны
- Количество рабочих дней:
=NETWORKDAYS(start_date, end_date, holidays)- Рабочие часы (8 ч/день):
=NETWORKDAYS(start_date, end_date, holidays) * 8- Добавить N рабочих дней к дате:
=WORKDAY(start_date, N, holidays)- Использовать нестандартные выходные:
=NETWORKDAYS.INTL(start_date, end_date, weekend_string, holidays)Шаблон таблицы для проекта (рекомендуемые столбцы):
- Название проекта
- Start date
- End date
- Holidays (ссылка на общий диапазон)
- Рабочие дни (формула NETWORKDAYS)
- Рабочие часы (формула × часы в дне)
- Ответственный
Роль‑ориентированные чеклисты:
- Менеджер проекта: проверить, что даты корректны, holidays — полный список, результаты протестированы на крайних датах.
- HR: убедиться в консистентности праздников по стране/региону.
- Бухгалтерия/Фрилансер: проверить формулы расчёта часов и ставки/ставку за час.
Методология быстрого внедрения (mini‑SOP)
- Сбор требований: какой календарь выходных и праздничных дней используется.
- Подготовка данных: единый диапазон праздников на отдельном листе.
- Валидация: тест на примерах с ожидаемыми результатами (start=end, полностью праздничный период, только выходные).
- Документация: пояснить, где хранятся праздники и кто отвечает за их обновление.
Критерии приёмки
- Формулы возвращают ожидаемые значения на контрольных примерах (минимум 5 кейсов).
- Список праздников централизован и защищён от случайного изменения (рекомендуется использовать именованные диапазоны).
- При смене политики выходных (например, переход на NETWORKDAYS.INTL) результаты документированы.
Факты и числа (быстрый справочник)
- NETWORKDAYS учитывает субботу и воскресенье как выходные по умолчанию.
- WORKDAY и NETWORKDAYS включают обе границы диапазона при подсчёте.
- Стандартный рабочий день часто принимают за 8 часов — используйте эту конвенцию или свою, если организация другая.
Частые вопросы (FAQ)
Q: В чём разница между NETWORKDAYS и NETWORKDAYS.INTL?
A: NETWORKDAYS использует фиксированные выходные (суббота/воскресенье). NETWORKDAYS.INTL позволяет задать собственный шаблон выходных (например, пятница/суббота).
Q: Учитывает ли NETWORKDAYS праздничные даты?
A: Да, если вы передадите диапазон праздников в третьем параметре, эти даты будут исключены из подсчёта.
Q: Как посчитать частичный рабочий день (например, 4 часа)?
A: NETWORKDAYS считает дни; для частичных дней используйте дополнительные вычисления по часам или храните фактическое количество часов в отдельном столбце и суммируйте их.
Q: Считает ли функция дату завершения включительно?
A: Да — если и start_date, и end_date рабочие, NETWORKDAYS вернёт 1 для одной даты.
Когда стоит выбрать другой подход
- Если нужен учёт сменного графика с разными часами в разные дни — лучше вести учёт часов в ежедневном журнале или автоматизировать расчёты через Power Query/VBA.
- Если файлу требуется высокая производительность при миллионах строк — рассчитывайте агрегаты на стороне базы данных или в Power BI.
Завершение и рекомендации
NETWORKDAYS — лёгкий и надёжный способ быстро получить число рабочих дней между датами, особенно в сочетании с явным списком праздников и простыми арифметическими операциями для получения часов. Для сложных графиков используйте NETWORKDAYS.INTL или инструменты автоматизации. Перед внедрением в процессы протестируйте формулы на крайних и пограничных примерах.
Важно: поддерживайте централизованный список праздников и документируйте предположения (стандартные выходные, длина рабочего дня), чтобы избежать ошибок в расчётах.
Краткое действие: добавьте именованный диапазон «Holidays», примените NETWORKDAYS с абсолютными ссылками и протестируйте на трёх‑пяти контрольных примерах.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone