Excel и Google Workspace / Даты, сроки
NETWORKDAYS для подсчета рабочих дней в Excel
NETWORKDAYS считает количество рабочих дней между датами A2 и B2, исключая субботы, воскресенья и праздники из H2:H10. Функция учитывает начальную и конечную даты, если они являются рабочими.
Формула
Обозначения
- $A2$
- начальная дата периода
- $B2$
- конечная дата периода
- $H2:H10$
- список праздничных или дополнительных нерабочих дат
Условия применения
- A2, B2 и H2:H10 должны содержать настоящие даты Excel, а не текстовые строки.
- Стандартная функция считает выходными субботу и воскресенье.
- Праздничные даты в H2:H10 исключаются только тогда, когда попадают внутрь периода.
Ограничения
- NETWORKDAYS не подходит для нестандартной рабочей недели без дополнительных настроек; для этого есть NETWORKDAYS.INTL.
- Функция считает дни, а не часы, поэтому неполный рабочий день не учитывается отдельно.
- Если календарь праздников не обновлен, результат будет формально правильным, но управленчески неверным.
Подробное объяснение
NETWORKDAYS проходит по календарному интервалу от A2 до B2 и считает только те даты, которые не являются стандартными выходными.
Затем функция дополнительно проверяет список праздников H2:H10. Если дата из списка попадает в период и не должна быть рабочей, она исключается из результата.
Начальная и конечная даты считаются включительно. Поэтому период с понедельника по понедельник без праздников даст 1, а не 0.
Функция особенно удобна для контроля сроков. Если заявка пришла в пятницу и закрыта во вторник, календарных дней может быть пять, а рабочих всего три.
Для региональных календарей список праздников лучше держать на отдельном листе и ссылаться на него абсолютным диапазоном. Тогда формулы по всей книге используют один и тот же источник календаря.
NETWORKDAYS считает начальную и конечную даты включительно, если они являются рабочими. Это важно для договоров и задач: интервал с понедельника по понедельник может дать не ноль, а один рабочий день при одинаковых датах. Праздники передаются отдельным диапазоном дат; текстовые подписи праздников в этот диапазон не входят.
Как пользоваться формулой
- Введите начальную дату в A2 и конечную дату в B2.
- Соберите список праздников в отдельном диапазоне.
- Укажите этот диапазон третьим аргументом NETWORKDAYS.
- Проверьте, что все даты распознаны как даты, а не текст.
- Для нестандартных выходных используйте NETWORKDAYS.INTL.
Историческая справка
Расчет рабочих дней появился в электронных таблицах из практических задач планирования: сроки поставки, отпуска, выполнение заявок и банковские операции.
В Excel NETWORKDAYS стала стандартной функцией для календарных расчетов без ручного вычитания выходных.
Функция особенно важна в компаниях, где отчетность строится не по календарным, а по рабочим дням. Это влияет на SLA, штрафы и внутренние нормативы.
Позже появились расширенные варианты для нестандартных выходных, но базовая NETWORKDAYS остается понятным и быстрым инструментом для обычной пятидневной недели.
Подсчет рабочих дней стал типовой офисной задачей вместе с электронными календарями, договорами и проектным учетом. Функции вроде NETWORKDAYS перенесли календарную логику в формулы, чтобы сроки можно было пересчитывать автоматически при изменении дат или списка праздников.
Пример
Дано: A2=2026-06-01, B2=2026-06-05, а H2 содержит праздник 2026-06-03. Период с понедельника по пятницу содержит пять календарных рабочих дней, но среда исключается как праздник. Формула =NETWORKDAYS(A2,B2,H2:H10) вернет 4. Проверка: если между 10.06.2026 и 17.06.2026 есть обычные выходные и один праздник из H2:H10, NETWORKDAYS исключит и субботу с воскресеньем, и этот праздник. Если убрать диапазон праздников, результат увеличится на один день. Для непятидневного графика лучше использовать NETWORKDAYS.INTL, где можно задать собственные выходные.
Частая ошибка
Частая ошибка: забыть, что начальная и конечная даты включаются в расчет. Вторая ошибка: хранить праздники как текст после копирования с сайта. Третья ошибка: использовать NETWORKDAYS для графика с рабочей субботой или выходным понедельником, хотя нужна NETWORKDAYS.INTL. Еще одна проблема возникает, когда список праздников относится к другому году.
Практика
Задачи с решением
Посчитать срок заявки
Условие. Заявка открыта 2026-06-01 и закрыта 2026-06-05. Праздников нет.
Решение. С понедельника по пятницу включительно пять рабочих дней. Формула без праздников вернет 5.
Ответ. 5
Учесть праздник в середине периода
Условие. Тот же период, но 2026-06-03 указан в списке праздников.
Решение. Из пяти рабочих дней исключается среда 2026-06-03. Остаются понедельник, вторник, четверг и пятница.
Ответ. 4
Дополнительные источники
- Microsoft Support: NETWORKDAYS function - https://support.microsoft.com/en-us/office/networkdays-function-48e717bf-a7a3-495f-969e-5005e3eb18e7
- Microsoft Support: Excel functions by category - https://support.microsoft.com/en-us/office/excel-functions-by-category-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb
- Dan Bricklin: VisiCalc and the origins of spreadsheets - https://www.bricklin.com/visicalc.htm
Связанные формулы
Excel и Google Workspace
EDATE для сдвига даты на несколько месяцев
EDATE возвращает дату, сдвинутую от A2 на заданное количество месяцев. Формула =EDATE(A2,3) прибавляет к исходной дате три месяца и корректно обрабатывает разную длину месяцев.
Excel и Google Workspace
EOMONTH для последнего дня месяца
EOMONTH возвращает последний день месяца для даты A2. Второй аргумент 0 означает, что нужен конец того же месяца без сдвига вперед или назад.
Excel и Google Workspace
YEARFRAC для доли года между датами
YEARFRAC возвращает долю года между датами A2 и B2. Аргумент 1 задает расчет по фактическому количеству дней в периоде и фактической длине года.
Excel и Google Workspace
VLOOKUP для точного поиска в Excel
Функция VLOOKUP ищет значение из E2 в первом столбце диапазона A2:C20 и возвращает значение из третьего столбца найденной строки. Последний аргумент FALSE включает точное совпадение, поэтому формула подходит для артикулов, кодов клиентов и других ключей, где приблизительный поиск недопустим.