Расчет рабочих дней и времени в Excel: полное руководство

Иван Корнев·11.04.2026·4 мин

Чтобы быстро узнать количество рабочих дней между двумя датами в Excel, используйте функцию =NETWORKDAYS(дата_начала; дата_окончания; [праздники]). Для определения даты завершения проекта через заданное количество дней примените =WORKDAY(дата_начала; количество_дней; [праздники]). Эти инструменты автоматически исключают субботы и воскресенья, а при указании списка праздников — и их тоже.

Ниже подробно разобраны все нюансы: от настройки нестандартной рабочей недели до точного подсчета отработанных часов с учетом обеденных перерывов.

Базовые функции для работы с календарем

В арсенале Excel есть четыре ключевые функции для планирования. Выбор зависит от того, какой график принят в вашей компании и нужно ли учитывать государственные праздники.

Стандартные функции (Пн–Пт)

Если ваша рабочая неделя классическая (понедельник–пятница), используйте базовые версии:

  • NETWORKDAYS — возвращает количество рабочих дней между двумя датами.
  • WORKDAY — возвращает дату, наступившую через указанное число рабочих дней после старта.

Синтаксис прост: =NETWORKDAYS(A2; B2; C2:C10) Где A2 — начало, B2 — конец, а C2:C10 — список праздничных дат (необязательный аргумент).

Гибкие функции для сменного графика

Если выходные дни отличаются от стандартных (например, скользящий график или работа по субботам), нужны версии с суффиксом .INTL. Они позволяют вручную задать, какие дни считать выходными.

  • NETWORKDAYS.INTL
  • WORKDAY.INTL

Ключевое отличие — третий аргумент, где кодом указывается схема недели. Код представляет собой строку из семи символов (0 — рабочий, 1 — выходной), начиная с понедельника.

Код схемыОписание графикаПример использования
"0000011"Пн–Пт рабочие, Сб–Вс выходные (стандарт)=NETWORKDAYS.INTL(A2;B2;"0000011")
"1111110"Только воскресенье выходной=NETWORKDAYS.INTL(A2;B2;"1111110")
"0000000"Без выходных (работа каждый день)=NETWORKDAYS.INTL(A2;B2;"0000000")
"1100000"Выходные Пн и Вт=WORKDAY.INTL(A2;10;"1100000")

Как правильно учесть праздничные дни

Самая частая ошибка при планировании проектов — игнорирование государственных праздников, из-за чего сроки сдвигаются. Чтобы этого избежать, создайте отдельную таблицу с датами праздников.

  1. Создайте список праздников в любом свободном диапазоне ячеек (например, столбец E).
  2. Убедитесь, что ячейки имеют формат Дата, а не текст.
  3. Добавьте ссылку на этот диапазон в формулу как третий аргумент.

Лайфхак с именованным диапазоном Выделите список праздников, в поле имени (слева от строки формул) введите слово Holidays и нажмите Enter. Теперь формула станет читаемой: =WORKDAY(A2; 20; Holidays) Это упростит поддержку файла в будущем.

Пример расчета срока сдачи проекта (20 рабочих дней) с учетом праздников: =WORKDAY(A2; 20; E2:E15) где A2 — дата старта, а E2:E15 — список нерабочих праздничных дней.

Расчет фактического рабочего времени в часах

Функции выше считают только дни. Если нужно узнать точное количество часов, затраченных на проект при фиксированном графике (например, с 09:00 до 18:00), потребуется комбинированный подход.

Простое умножение дней на 8 часов не подойдет, если проект начинается или заканчивается в середине дня.

Метод для полного дня

Если вас интересует только количество полных рабочих дней, умножьте результат NETWORKDAYS на длину смены: =NETWORKDAYS(A2; B2; Праздники) * 9 (где 9 — количество рабочих часов в день).

Метод для точного времени (с учетом времени начала и конца)

Для точного расчета, когда известны дата и время старта (A2) и финиша (B2), используйте следующую логику:

  1. Посчитайте полные рабочие дни между датами (исключая первый и последний день).
  2. Добавьте частичные часы первого и последнего дня.

Универсальная формула массива (для новых версий Excel работает сразу, для старых нажмите Ctrl+Shift+Enter):

=СУММ(ЕСЛИ(ДЕНЬНЕД(ПОСЛЕДОВ(A2;B2);2)<6; ЕСЛИ(СЧЁТЕСЛИ(Праздники; ПОСЛЕДОВ(A2;B2))=0; 1; 0); 0)) * 9 + (ОСТАТ(B2;1) - ОСТАТ(A2;1)) * 24

Примечание: Формула выше является упрощенной концепцией. На практике надежнее использовать вспомогательный столбец.

Надежный способ через вспомогательный столбец:

  1. Создайте столбец со всеми датами периода.
  2. Рядом формулой отметьте рабочие дни: =И(ДЕНЬНЕД(A5;2)<6; СЧЁТЕСЛИ(Праздники; A5)=0).
  3. Для каждого рабочего дня задайте длительность (например, 9 часов).
  4. Для первого и последнего дня рассчитайте разницу времени вручную: (Конец_дня - Время_старта) и (Время_финиша - Начало_дня).
  5. Просуммируйте полученные значения.

Частые ошибки и как их избежать

  • Разделители в формулах. В русской локализации Excel аргументы разделяются точкой с запятой (;), а не запятой. Формула =NETWORKDAYS(A1,B1) выдаст ошибку, правильно: =NETWORKDAYS(A1;B1).
  • Формат ячеек с праздниками. Если список праздников записан как текст (например, "1 мая"), функции его не увидят. Ячейки должны быть в формате даты.
  • Включение выходных в диапазон. Функция NETWORKDAYS не считает сами выходные дни. Если проект начался в субботу, она не будет учтена в счетчике дней, но время может считаться от этой даты. Проверяйте логику старта.
  • Отрицательный результат. Если дата окончания раньше даты начала, функция вернет отрицательное число или ошибку. Используйте ABS() или проверку ЕСЛИ, чтобы избежать этого.

FAQ

Можно ли сделать так, чтобы суббота была рабочим днем? Да, используйте функцию NETWORKDAYS.INTL с кодом "0000001" (где последняя единица означает, что только воскресенье — выходной).

Как посчитать рабочие дни без учета праздников? Просто не указывайте третий аргумент в функции. Например: =NETWORKDAYS(A2; B2). Excel исключит только субботы и воскресенья.

Что делать, если нужно исключить еще и корпоративные выходные? Добавьте даты корпоративных мероприятий в тот же диапазон ячеек, где указаны государственные праздники, и передайте этот расширенный список в формулу. Для функций нет разницы, почему день нерабочий — главное, чтобы дата была в списке исключений.

Работают ли эти формулы в Google Таблицах? Да, синтаксис функций NETWORKDAYS, WORKDAY и их версий .INTL полностью совместим с Google Таблицами.