Зачем считать рабочие дни в 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: Учёт праздничных дней
Если в вашем регионе или компании есть официальные праздники, которые не попадают на выходные, их нужно исключить из расчёта. Для этого:
- Создайте список праздничных дат в отдельном столбце (например,
D2:D10). - Добавьте третий аргумент в функцию
РАБДЕНЬ, указав диапазон с праздниками.
Пример: расчёт рабочих дней в мае 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)}).
Способ 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 (в старых версиях может не быть
- ❌ Неправильный результат — формула возвращает неожиданное число. Возможные причины:
- Даты указаны в неправильном формате (Excel воспринимает их как текст). Используйте
ДАТАЗНАЧдля преобразования:=РАБДЕНЬ(ДАТАЗНАЧ("01.05.2026"); ДАТАЗНАЧ("31.05.2026")). - В диапазоне праздников есть пустые ячейки или некорректные данные.
- Даты указаны в неправильном формате (Excel воспринимает их как текст). Используйте
- ❌ Формула не обновляется — если используете
СЕГОДНЯ(), но результат не меняется:- Проверьте настройки пересчёта:
Формулы → Параметры вычислений → Автоматически. - Закройте и снова откройте файл.
- Проверьте настройки пересчёта:
Также обратите внимание на региональные настройки даты. Если ваш Excel настроен на американский формат (месяц/день/год), формула =РАБДЕНЬ("01.05.2026"; "31.05.2026") может воспринять 01.05 как 1 мая или 5 января!
=РАБДЕНЬ(ДАТА(2026;5;1); ДАТА(2026;5;31))
-->
FAQ: Ответы на частые вопросы
Можно ли в Excel посчитать рабочие дни с учётом полурабочих дней (например, сокращённый день в пятницу)?
Стандартные функции Excel не поддерживают учёта "полудней". Решения:
- Разбейте день на два события (например, 0.5 дня в пятницу = 0.5 рабочего дня).
- Используйте пользовательскую функцию на 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 для автоматического обновления.