Как в Excel прибавлять только рабочие дни: 5 способов с формулами и примерами

Почему стандартное сложение дней в Excel не подходит для рабочих графиков

Вы когда-нибудь сталкивались с ситуацией, когда нужно рассчитать срок выполнения задачи, но стандартное сложение дней в Microsoft Excel даёт неверный результат? Например, если к сегодняшней дате прибавить 5 дней, программа учтёт и субботу, и воскресенье — хотя по факту эти дни нерабочие. В результате дедлайн сдвинется на следующий понедельник, а ваш проект окажется под угрозой срыва.

Проблема в том, что Excel по умолчанию не различает рабочие дни и выходные. Если просто использовать формулу =ДАТА(год;месяц;день)+N, где N — количество дней, то выходные и праздники автоматически включаются в расчёт. Это критично для логистики, производственных графиков, юридических сроков или любого планирования, где учитываются только фактические рабочие дни без выходных и официальных праздников.

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

Функция РАБДЕНЬ: базовый способ прибавить рабочие дни

Самый простой инструмент для работы с календарными днями — это функция РАБДЕНЬ (англ. WORKDAY). Она автоматически исключает субботу и воскресенье из расчётов, но не учитывает государственные праздники. Синтаксис функции:

=РАБДЕНЬ(нач_дата; дни; [праздники])

Где:

  • 📅 нач_дата — исходная дата, к которой прибавляем дни (например, =СЕГОДНЯ() или конкретная дата в формате ДД.ММ.ГГГГ).
  • дни — количество рабочих дней, которое нужно прибавить (может быть отрицательным для вычитания).
  • 🎉 [праздники] — необязательный аргумент: диапазон ячеек с датами праздников (если не указан, учитываются только выходные).

Пример: если сегодня 10.05.2026 (пятница), то формула =РАБДЕНЬ(СЕГОДНЯ(); 3) вернёт 15.05.2026 (среда), пропустив субботу и воскресенье. А если добавить праздники (например, 01.05.2026 и 09.05.2026 в диапазоне A2:A3), то результат сдвинется ещё дальше.

Как учесть праздничные дни: расширенный синтаксис

Базовая функция РАБДЕНЬ игнорирует государственные праздники, что может исказить расчёты. Например, в России 1 января — нерабочий день, но Excel его не распознаёт автоматически. Чтобы это исправить, нужно:

  1. Создать список праздников в отдельном диапазоне (например, B2:B10).
  2. Добавить этот диапазон в третий аргумент функции: =РАБДЕНЬ(СЕГОДНЯ(); 10; B2:B10).

Важно: праздники должны быть в формате дат (не текст!). Если вы скопировали их из интернета как текст, используйте функцию ДАТАЗНАЧ для преобразования:

=ДАТАЗНАЧ("01.01.2026")

Для удобства можно создать динамический список праздников на отдельном листе и ссылаться на него во всех формулах. Это особенно полезно, если вы работаете с данными за несколько лет — достаточно один раз заполнить таблицу, и она будет автоматически учитываться во всех расчётах.

Где взять список праздников для Excel?

В России официальные праздничные дни публикуются на сайте Правительства или в производственных календарях. Для других стран используйте данные местных трудовых кодексов. Например, в Украине праздники можно экспортировать с сайта Кабинета Министров в формате CSV и импортировать в Excel.

ЧИСТРАБДНИ: как посчитать количество рабочих дней между датами

Если задача обратная — не прибавить дни, а узнать, сколько рабочих дней прошло между двумя датами, используйте функцию ЧИСТРАБДНИ (англ. NETWORKDAYS). Она работает по тому же принципу, что и РАБДЕНЬ, но возвращает число дней, а не дату.

Синтаксис:

=ЧИСТРАБДНИ(нач_дата; кон_дата; [праздники])

Пример: чтобы узнать, сколько рабочих дней осталось до конца квартала (30.06.2026), используйте:

=ЧИСТРАБДНИ(СЕГОДНЯ(); "30.06.2026"; Праздники!A2:A10)

Эта функция незаменима для:

  • 📊 Расчёта оплаты по договорам с почасовой ставкой.
  • ⏳ Определения сроков доставки (например, "доставка в течение 5 рабочих дней").
  • 📅 Планирования проектов по методологии Agile или Waterfall.
📊 Как часто вам нужно учитывать праздники в расчётах?
Никогда — работаю только с рабочими днями
Иногда — для отдельных проектов
Постоянно — это критично для моей работы
Не знаю, как это сделать

Работа с нестандартными выходными: функция РАБДЕНЬ.МЕЖД

Что делать, если ваша компания работает по гибкому графику? Например, выходные — пятница и суббота, или только воскресенье? В этом случае стандартная РАБДЕНЬ не подойдёт. На помощь придёт её расширенная версия — РАБДЕНЬ.МЕЖД (англ. WORKDAY.INTL).

Синтаксис:

=РАБДЕНЬ.МЕЖД(нач_дата; дни; [выходные]; [праздники])

Ключевое отличие — аргумент [выходные], который позволяет задать собственные выходные дни. Он может быть:

  • 🔢 Числом (например, 1 — суббота/воскресенье, 11 — только воскресенье).
  • 📝 Строкой (например, "0000011", где 1 — выходной, 0 — рабочий день; здесь выходные — суббота и воскресенье).

Пример: если выходные — пятница и суббота, используйте:

=РАБДЕНЬ.МЕЖД(СЕГОДНЯ(); 5; "0000110")

Эта функция незаменима для:

  • 🏭 Производственных предприятий с непрерывным циклом (например, выходной только в воскресенье).
  • 🏥 Медицинских учреждений, где графики сменные.
  • 🌍 Международных компаний с филиалами в разных странах (например, в ОАЭ выходные — пятница и суббота).

Убедитесь, что исходная дата в формате даты, а не текста|Проверьте правильность строки выходных (например, "0000011" для стандартных выходных)|Добавьте диапазон с праздниками, если они есть|Протестируйте формулу на известном примере (например, прибавьте 1 день к пятнице — результат должен быть понедельник)-->

Практический пример: расчёт срока доставки с учётом выходных

Допустим, вы управляете логистической компанией, и нужно рассчитать дату доставки товара с учётом:

  • 📦 Стандартный срок доставки — 7 рабочих дней.
  • 🚚 Выходные — суббота и воскресенье.
  • 🎄 Праздники: 1–8 января 2026 года.

Шаги решения:

  1. Создайте таблицу с датами праздников в диапазоне B2:B9.
  2. В ячейку с датой отправки (например, A1) введите =СЕГОДНЯ().
  3. В ячейку с датой доставки введите:
=РАБДЕНЬ(A1; 7; B2:B9)

Результат: если отправка была 10.05.2026 (пятница), то доставка состоится 21.05.2026 (вторник), так как формула пропустит 2 выходных дня (11–12 мая) и не учтёт январские праздники (они вне диапазона).

Для визуализации можно добавить условное форматирование, которое будет подсвечивать выходные и праздники красным цветом. Для этого:

  1. Выделите диапазон с датами.
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите "Использовать формулу" и введите:
=ИЛИ(ДЕНЬНЕД(A1;2)>5; ЧИСТРАБДНИ(A1;A1;Праздники!$A$2:$A$9)=0)

Ошибки и ловушки: что может пойти не так

Даже с правильными формулами результаты могут быть неверными. Вот типичные ошибки и как их избежать:

Ошибка Причина Решение
#ЗНАЧ! Некорректный формат даты (текст вместо даты). Используйте ДАТАЗНАЧ или проверьте формат ячейки.
Неправильный результат Праздники указаны как текст, а не даты. Преобразуйте текст в даты с помощью ДАТАЗНАЧ.
Формула не обновляется Диапазон праздников зафиксирован абсолютными ссылками ($A$1), но данные изменились. Проверьте, что диапазон праздников актуален.
Выходные учитываются неправильно В РАБДЕНЬ.МЕЖД неверно задана строка выходных. Используйте официальную документацию Microsoft для проверки строки.
⚠️ Внимание: Если вы работаете с датами до 1900 года, Excel может их неправильно интерпретировать. Дело в том, что в Excel даты хранятся как числа, где 1 соответствует 01.01.1900. Для исторических данных используйте специализированные надстройки.

Ещё одна частая проблема — разница в региональных настройках. Например, в США даты записываются как MM/DD/YYYY, а в России — DD.MM.YYYY. Если вы импортируете данные из иностранных источников, Excel может путать месяцы и дни. Чтобы избежать этого, всегда проверяйте формат ячеек (Формат ячеек → Дата).

FAQ: Ответы на частые вопросы

Можно ли в Excel учитывать переносы выходных дней?

Да, но стандартными функциями это сделать сложно. Вам понадобится:

  1. Создать таблицу с перенесёнными выходными (например, если суббота становится рабочей, а понедельник — выходным).
  2. Использовать РАБДЕНЬ.МЕЖД с пользовательской строкой выходных и добавить перенесённые дни в список праздников.

Для автоматизации можно написать пользовательскую функцию на VBA.

Как прибавить рабочие дни в Google Sheets?

В Google Таблицах используются те же функции, но на английском:

  • =WORKDAY(start_date, days, [holidays]) — аналог РАБДЕНЬ.
  • =NETWORKDAYS(start_date, end_date, [holidays]) — аналог ЧИСТРАБДНИ.

Синтаксис и логика работы идентичны Excel.

Почему моя формула возвращает дату в числовом формате (например, 45341)?

Это происходит потому, что Excel хранит даты как числа (количество дней с 1 января 1900 года). Чтобы отобразить дату корректно:

  1. Выделите ячейку с результатом.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите формат Дата и укажите нужный вид (например, 14.03.2026).
Можно ли учитывать полурабочие дни (например, сокращённый день перед праздником)?

Стандартные функции Excel не поддерживают полурабочие дни. Решения:

  • 📌 Указать такой день как полный выходной (если он не учитывается в сроках).
  • 📌 Использовать VBA для создания кастомной функции.
  • 📌 Вручную корректировать количество прибавляемых дней (например, прибавить не 5, а 4.5 дня).
Где скачать готовый шаблон Excel с формулами для рабочих дней?

Готовые шаблоны можно найти:

  • 🔗 На официальном сайте Microsoft в разделе шаблонов Office (ищите "производственный календарь").
  • 🔗 На специализированных сайтах, например, Vertex42 (англ.).
  • 🔗 В сообществах Excel-энтузиастов (например, на Excelguru).

Обратите внимание на региональные особенности шаблонов — некоторые могут быть настроены под календарь другой страны.