Excel и Google Workspace / Даты, сроки

NETWORKDAYS для подсчета рабочих дней в Excel

NETWORKDAYS считает количество рабочих дней между датами A2 и B2, исключая субботы, воскресенья и праздники из H2:H10. Функция учитывает начальную и конечную даты, если они являются рабочими.

Опубликовано: Обновлено:

Формула

$$=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 считает начальную и конечную даты включительно, если они являются рабочими. Это важно для договоров и задач: интервал с понедельника по понедельник может дать не ноль, а один рабочий день при одинаковых датах. Праздники передаются отдельным диапазоном дат; текстовые подписи праздников в этот диапазон не входят.

Как пользоваться формулой

  1. Введите начальную дату в A2 и конечную дату в B2.
  2. Соберите список праздников в отдельном диапазоне.
  3. Укажите этот диапазон третьим аргументом NETWORKDAYS.
  4. Проверьте, что все даты распознаны как даты, а не текст.
  5. Для нестандартных выходных используйте 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,3)$

EDATE возвращает дату, сдвинутую от A2 на заданное количество месяцев. Формула =EDATE(A2,3) прибавляет к исходной дате три месяца и корректно обрабатывает разную длину месяцев.

Excel и Google Workspace

EOMONTH для последнего дня месяца

$=EOMONTH(A2,0)$

EOMONTH возвращает последний день месяца для даты A2. Второй аргумент 0 означает, что нужен конец того же месяца без сдвига вперед или назад.

Excel и Google Workspace

YEARFRAC для доли года между датами

$=YEARFRAC(A2,B2,1)$

YEARFRAC возвращает долю года между датами A2 и B2. Аргумент 1 задает расчет по фактическому количеству дней в периоде и фактической длине года.

Excel и Google Workspace

VLOOKUP для точного поиска в Excel

$=VLOOKUP(E2,A2:C20,3,FALSE)$

Функция VLOOKUP ищет значение из E2 в первом столбце диапазона A2:C20 и возвращает значение из третьего столбца найденной строки. Последний аргумент FALSE включает точное совпадение, поэтому формула подходит для артикулов, кодов клиентов и других ключей, где приблизительный поиск недопустим.