Как в Excel посчитать дни между датами без выходных: формулы и примеры

Зачем считать рабочие дни в Excel?

Расчёт количества рабочих дней между двумя датами — одна из самых востребованных задач в Microsoft Excel и Google Таблицах. Без этого не обойтись при планировании проектов, расчёте зарплаты, определении сроков поставок или контроле дедлайнов. Главная сложность: стандартное вычитание дат учитывает все календарные дни, включая субботы, воскресенья и праздники — которые в большинстве случаев нужно исключить.

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

Способ 1: Функция РАБДЕНЬ для базового расчёта

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

Синтаксис функции:

=РАБДЕНЬ(нач_дата; кон_дата; [праздники])
  • 📅 нач_дата — начальная дата периода (например, "10.05.2026").
  • 📅 кон_дата — конечная дата периода.
  • 🎉 [праздники] — необязательный аргумент: диапазон ячеек с датами праздников (если нужно их исключить).

Пример: чтобы посчитать рабочие дни между 1 мая и 31 мая 2026 года (без учёта праздников), введите:

=РАБДЕНЬ("01.05.2026"; "31.05.2026")

Ограничения функции РАБДЕНЬ

⚠️ Внимание: По умолчанию РАБДЕНЬ считает выходными только субботу и воскресенье. Если у вас другой график (например, рабочая суббота), потребуется доработка (см. Способ 4).
ФормулаРезультатПояснение
=РАБДЕНЬ("01.05.2026"; "10.05.2026")8С 1 по 10 мая 2026 года — 8 рабочих дней (исключены 4 и 5 мая — суббота/воскресенье, а также 9 мая — если не указан как праздник).
=РАБДЕНЬ("01.05.2026"; "31.05.2026"; C2:C5)21Май 2026 года с учётом праздников в ячейках C2:C5 (например, 1, 8, 9 мая).

Способ 2: Учёт праздничных дней

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

  1. Создайте список праздничных дат в отдельном столбце (например, D2:D10).
  2. Добавьте третий аргумент в функцию РАБДЕНЬ, указав диапазон с праздниками.

Пример: расчёт рабочих дней в мае 2026 года с учётом праздников 1, 8 и 9 мая:

=РАБДЕНЬ("01.05.2026"; "31.05.2026"; D2:D4)
Как быстро заполнить список праздников?

Используйте функцию ДАТА для автоматического заполнения. Например, =ДАТА(2026;5;1) вернёт дату 1 мая 2026 года.

  • 📌 Праздники можно указать как в виде ссылок на ячейки, так и вручную (например, =РАБДЕНЬ(A2; B2; {"01.05.2026"; "08.05.2026"})).
  • 🔄 Если праздники повторяются ежегодно (например, 8 Марта), создайте отдельную таблицу с формулами для автоматического обновления дат.
⚠️ Внимание: В Google Таблицах синтаксис функции идентичен, но для указания праздников вручную используйте фигурные скобки: =NETWORKDAYS(A2; B2; {DATE(2026,5,1); DATE(2026,5,8)}).
📊 Как часто вам нужно учитывать праздники в расчётах?
Никогда
Иногда (1-2 раза в год)
Часто (ежемесячно)
Постоянно (еженедельно)

Способ 3: Расчёт рабочих дней между сегодняшней датой и будущей

Чтобы посчитать, сколько рабочих дней осталось до определённой даты от сегодняшнего дня, используйте комбинацию функций РАБДЕНЬ и СЕГОДНЯ:

=РАБДЕНЬ(СЕГОДНЯ(); "30.06.2026")

Эта формула вернёт количество рабочих дней до 30 июня 2026 года (исключая субботы, воскресенья и праздники, если они указаны).

Динамический расчёт с учётом текущей даты

Если вам нужно, чтобы результат автоматически обновлялся каждый день, используйте СЕГОДНЯ() без аргументов. Например, для отображения оставшихся рабочих дней до конца месяца:

=РАБДЕНЬ(СЕГОДНЯ(); КОНМЕСЯЦА(СЕГОДНЯ(); 0))
  • 📅 КОНМЕСЯЦА возвращает последний день текущего месяца.
  • ⚡ Формула будет пересчитываться при каждом открытии файла или по команде F9.

- Убедитесь, что в настройках Excel установлен формат даты дд.мм.гггг

- Проверьте, что функция СЕГОДНЯ() возвращает актуальную дату (иногда требуется перезагрузка файла)

- Если результат не обновляется, включите автоматический пересчёт в Формулы → Параметры вычислений → Автоматически

-->

Способ 4: Нестандартные выходные (например, рабочая суббота)

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

Синтаксис:

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

Как задать свои выходные?

Аргумент [выходные] — это число от 1 до 17 или строка из 7 символов (1 и 0), где каждый символ обозначает день недели (начиная с понедельника). Примеры:

  • 🔢 11 — выходные в субботу и воскресенье (стандартный график).
  • 🔢 "0000011" — выходные в пятницу и субботу (рабочая неделя с воскресенья по четверг).
  • 🔢 7 — выходной только в воскресенье.

Пример: расчёт рабочих дней с выходными в пятницу и субботу (рабочая суббота заменена на пятницу):

=РАБДЕНЬ.МЕЖД("01.06.2026"; "30.06.2026"; "0000011")
Код выходныхГрафик работыПример
1Выходной — воскресенье=РАБДЕНЬ.МЕЖД(A2; B2; 1)
"0000011"Выходные — пятница, суббота=РАБДЕНЬ.МЕЖД(A2; B2; "0000011")
1100001Выходные — воскресенье, понедельник, суббота=РАБДЕНЬ.МЕЖД(A2; B2; "1100001")

Способ 5: Ручной расчёт с помощью формул (без РАБДЕНЬ)

Если по какой-то причине вы не можете использовать РАБДЕНЬ (например, в очень старых версиях Excel), рабочие дни можно посчитать вручную с помощью комбинации функций:

=ДНИ(кон_дата; нач_дата) - ЧИСЛНЕД(нач_дата; кон_дата; 1) - ЧИСЛНЕД(нач_дата; кон_дата; 7)

Пояснение:

  • 📊 ДНИ — возвращает общее количество дней между датами.
  • 🔢 ЧИСЛНЕД — считает количество конкретных дней недели в диапазоне (аргумент 1 — воскресенье, 7 — суббота).

Пример: расчёт рабочих дней между 1 и 30 июня 2026 года:

=ДНИ("30.06.2026"; "01.06.2026") - ЧИСЛНЕД("01.06.2026"; "30.06.2026"; 1) - ЧИСЛНЕД("01.06.2026"; "30.06.2026"; 7)
⚠️ Внимание: Этот метод не учитывает праздники! Для их исключения придётся вручную вычитать количество праздничных дней, попавших на будни.
Как посчитать праздники вручную?

1. Создайте список праздников в столбце.

2. Используйте функцию СЧЁТЕСЛИМН, чтобы посчитать, сколько из них попадает в ваш диапазон и не является субботой/воскресеньем:

=СЧЁТЕСЛИМН(праздники; ">="&нач_дата; праздники; "<="&кон_дата; ДЕНЬНЕД(праздники; 2); "<>6"; ДЕНЬНЕД(праздники; 2); "<>7")

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

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

  • Ошибка #ИМЯ? — Excel не распознаёт имя функции. Проверьте:
    • Версию Excel (в старых версиях может не быть РАБДЕНЬ.МЕЖД).
    • Язык интерфейса (в русскоязычной версии используйте РАБДЕНЬ, в английской — NETWORKDAYS).
  • Неправильный результат — формула возвращает неожиданное число. Возможные причины:
    • Даты указаны в неправильном формате (Excel воспринимает их как текст). Используйте ДАТАЗНАЧ для преобразования: =РАБДЕНЬ(ДАТАЗНАЧ("01.05.2026"); ДАТАЗНАЧ("31.05.2026")).
    • В диапазоне праздников есть пустые ячейки или некорректные данные.
  • Формула не обновляется — если используете СЕГОДНЯ(), но результат не меняется:
    • Проверьте настройки пересчёта: Формулы → Параметры вычислений → Автоматически.
    • Закройте и снова откройте файл.

Также обратите внимание на региональные настройки даты. Если ваш Excel настроен на американский формат (месяц/день/год), формула =РАБДЕНЬ("01.05.2026"; "31.05.2026") может воспринять 01.05 как 1 мая или 5 января!

=РАБДЕНЬ(ДАТА(2026;5;1); ДАТА(2026;5;31))

-->

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

Можно ли в Excel посчитать рабочие дни с учётом полурабочих дней (например, сокращённый день в пятницу)?

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

  1. Разбейте день на два события (например, 0.5 дня в пятницу = 0.5 рабочего дня).
  2. Используйте пользовательскую функцию на VBA (требует навыков программирования).
Как посчитать рабочие часы между датами (не дни, а часы)?

Для расчёта рабочих часов используйте комбинацию функций:

=РАБДЕНЬ(нач_дата; кон_дата) * 8

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

Почему функция РАБДЕНЬ возвращает отрицательное число?

Отрицательный результат означает, что начальная дата позже конечной. Поменяйте их местами или используйте функцию АБС:

=АБС(РАБДЕНЬ("31.05.2026"; "01.05.2026"))
Как посчитать рабочие дни в Google Таблицах?

Синтаксис идентичен Excel, но функции называются по-английски:

  • =NETWORKDAYS(A2; B2) — аналог РАБДЕНЬ.
  • =NETWORKDAYS.INTL(A2; B2; "0000011") — аналог РАБДЕНЬ.МЕЖД.

Для указания праздников вручную используйте фигурные скобки: =NETWORKDAYS(A2; B2; {DATE(2026,5,1); DATE(2026,5,8)}).

Можно ли автоматически подгружать праздники из интернета?

В стандартном Excel нет встроенной функции для загрузки праздников. Решения:

  • Скачайте календарь праздников вручную (например, с сайта правительства) и импортируйте в Excel.
  • Используйте Power Query для подгрузки данных из внешних источников (требует навыков).
  • Напишите скрипт на VBA или Python для автоматического обновления.