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

Работа с датами в Microsoft Excel — одна из самых востребованных задач среди офисных сотрудников, бухгалтеров и менеджеров проектов. Часто требуется проанализировать данные исключительно по рабочим дням, исключив выходные (субботу и воскресенье) и праздники. Например, при расчёте сроков выполнения задач, анализе продаж или планировании графиков работы. Без правильных инструментов эта задача может превратиться в рутинную проверку каждой даты вручную — а это ошибки, потеря времени и неэффективность.

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

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

📊 Как часто вам приходится работать с датами в Excel?
Ежедневно
Несколько раз в неделю
Редко, по необходимости
Никогда не использовал такие функции

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

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

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

где:

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

Пример: если сегодня 10.05.2026 (пятница), то формула =РАБДЕНЬ(СЕГОДНЯ(); 5) вернёт 17.05.2026 (пятница), пропустив субботу и воскресенье. Без учёта праздников!

⚠️

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

2. Фильтрация рабочих дней с помощью условного форматирования

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

  1. Выделите диапазон с датами.
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Использовать формулу для определения форматируемых ячеек.
  4. Введите формулу: =ДЕНЬНЕД(А1;2)<6, где А1 — первая ячейка диапазона.
  5. Задайте формат (например, зелёный фон для рабочих дней).

Формула ДЕНЬНЕД(дата; 2) возвращает номер дня недели (от 1 — понедельник до 7 — воскресенье). Условие <6 исключает субботу (6) и воскресенье (7).

🔹 Продвинутый вариант: чтобы исключить ещё и праздники, модифицируйте формулу:

=И(ДЕНЬНЕД(А1;2)<6; СЧЁТЕСЛИ($D$1:$D$10; A1)=0)

где $D$1:$D$10 — диапазон с датами праздников.

Почему формула возвращает ошибку #ЗНАЧ!?

Ошибка #ЗНАЧ! появляется, если в ячейке с датой хранится текст или пустое значение. Проверьте формат ячеек (должен быть "Дата") и удалите пустые строки.

3. Функция ДЕНЬНЕД + фильтр: ручная фильтрация данных

Для физического отображения только рабочих дней в таблице комбинируйте функцию ДЕНЬНЕД с встроенным фильтром Excel:

  1. Добавьте вспомогательный столбец рядом с датами.
  2. Введите формулу: =ЕСЛИ(ДЕНЬНЕД(А2;2)<6; "Рабочий"; "Выходной").
  3. Примените фильтр к таблице (Данные → Фильтр).
  4. Отфильтруйте по значению "Рабочий".

Плюсы метода: не требует знания сложных формул, работает в любых версиях Excel.

Минусы: не учитывает праздники (для этого нужно расширять формулу, как в предыдущем разделе).

Критическая особенность: если в вашей стране рабочая неделя начинается с воскресенья (например, в ОАЭ или Израиле), замените ДЕНЬНЕД(А2;2) на ДЕНЬНЕД(А2;1) — это изменит нумерацию дней недели.

4. Продвинутые формулы: РАБДЕНЬ.МЕЖД с учётом праздников

Функция РАБДЕНЬ.МЕЖД (англ. WORKDAY.INTL) — усовершенствованная версия РАБДЕНЬ, позволяющая:

  • 📅 Настраивать какие дни считать выходными (например, пятница и суббота для мусульманских стран);
  • 🎭 Учитывать переменные выходные (например, если в вашей компании выходной — среда);
  • 📊 Работать с диапазонами дат (например, рассчитать количество рабочих дней между двумя датами).

Синтаксис:

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

где [выходные] — это строка или число, обозначающее выходные дни. Например:

  • "0000011" — выходные суббота и воскресенье (стандарт);
  • "0000110" — выходные пятница и суббота;
  • 11 — выходные суббота и воскресенье (сокращённая запись).

Пример: чтобы посчитать рабочие дни между 01.05.2026 и 31.05.2026 с выходными в субботу и воскресенье, используйте:

=РАБДЕНЬ.МЕЖД("01.05.2026"; "31.05.2026"; 1; $D$1:$D$10)

где $D$1:$D$10 — диапазон с праздниками (например, 01.05.2026 и 09.05.2026).

📌 Совет: Чтобы автоматически подтянуть праздники из производственного календаря, используйте Power Query (вкладка Данные → Получить данные). Это позволит импортировать данные с внешних источников (например, с сайта правительства) и обновлять их ежегодно.

☑️ Подготовка данных для РАБДЕНЬ.МЕЖД

Выполнено: 0 / 4

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

В Excel 365 и Excel 2021 появилась поддержка динамических массивов, которые позволяют фильтровать данные без создания дополнительных столбцов. Например, чтобы вывести только рабочие дни из списка в столбце A2:A100, используйте:

=ФИЛЬТР(A2:A100; (ДЕНЬНЕД(A2:A100;2)<6) * (СЧЁТЕСЛИ($D$2:$D$10; A2:A100)=0))

где:

  • A2:A100 — диапазон с датами;
  • $D$2:$D$10 — диапазон с праздниками.

Формула вернёт динамический массив — список дат, который автоматически обновляется при изменении исходных данных. Этот метод идеален для создания интерактивных отчётов или дашбордов.

⚠️

Внимание: Динамические массивы работают только в последних версиях Excel. В Excel 2019 и старше эта формула вернёт ошибку #ИМЯ?. Для старых версий используйте метод с вспомогательным столбцом (раздел 3).

🔹 Бонус: Чтобы отсортировать рабочие дни по возрастанию, оберните формулу в СОРТ:

=СОРТ(ФИЛЬТР(A2:A100; (ДЕНЬНЕД(A2:A100;2)<6)))

6. Power Query: автоматизация для больших данных

Если вы работаете с тысячами строк (например, анализируете данные за несколько лет), ручная фильтрация станет кошмаром. В этом случае Power Query — ваш спаситель. Этот инструмент позволяет:

  • 📤 Импортировать данные из разных источников (Excel, CSV, базы данных);
  • 🔄 Автоматически фильтровать рабочие дни без формул;
  • 🔄 Обновлять отчёты одним кликом.

Алгоритм действий:

  1. Перейдите на вкладку Данные → Получить данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выделите столбец с датами.
  3. Нажмите Добавить столбец → Пользовательский столбец.
  4. Введите формулу: = if Date.DayOfWeek([Date], Day.Monday) < 5 then "Рабочий" else "Выходной" (замените [Date] на название вашего столбца).
  5. Отфильтруйте строки по значению "Рабочий".
  6. Нажмите Закрыть и загрузить.

💡 Преимущество: Power Query сохраняет все шаги преобразования. Если исходные данные обновятся, достаточно нажать Обновить все на вкладке Данные — и отчёт пересчитается автоматически.

Метод Подходит для Учитывает праздники Требует знания формул
РАБДЕНЬ Расчёт новых дат Да (опционально) Нет
Условное форматирование Визуальный анализ Да (с модификацией) Базовый уровень
Фильтр + ДЕНЬНЕД Фильтрация существующих данных Да (с модификацией) Средний уровень
РАБДЕНЬ.МЕЖД Сложные расчёты с переменными выходными Да Продвинутый уровень
Динамические массивы Интерактивные отчёты (Excel 365) Да Продвинутый уровень

FAQ: Частые вопросы о рабочих днях в Excel

Как исключить праздники, если они каждый год разные (например, Пасха)?

Создайте отдельный лист с формулами для расчёта переходящих праздников. Например, для Пасхи в православной традиции используйте алгоритм Мееса:

=ЦЕЛОЕ("19"&ПРАВСИМВ(МОД(ГОД(A1);19)+1)/19)*21+24-МОД("19"&ПРАВСИМВ(МОД(ГОД(A1);19)+1)/19)*21+24;30)

Затем добавьте полученные даты в диапазон праздников для функций РАБДЕНЬ или РАБДЕНЬ.МЕЖД.

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

Да, с помощью Power Query. Например, для России:

  1. Перейдите в Данные → Получить данные → Из других источников → Из веб.
  2. Вставьте URL производственного календаря (например, с сайта КонсультантПлюс).
  3. Преобразуйте данные в таблицу и загрузите в Excel.

Обновляйте данные раз в год.

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

Частые причины:

  • 📅 Неверный формат ячейки: проверьте, что исходная дата имеет формат "Дата", а не "Текст".
  • 🎭 Ошибка в диапазоне праздников: убедитесь, что ячейки с праздниками также отформатированы как даты.
  • 🔢 Отрицательное значение дней: если вы отнимаете дни, используйте отрицательное число (например, =РАБДЕНЬ(A1; -5)).

Как посчитать количество рабочих дней между двумя датами?

Используйте функцию ЧИСТРАБДНИ (англ. NETWORKDAYS):

=ЧИСТРАБДНИ("01.01.2026"; "31.12.2026"; $D$1:$D$10)

где $D$1:$D$10 — диапазон с праздниками. Функция вернёт количество рабочих дней в заданном периоде.

Можно ли настроить функцию РАБДЕНЬ.МЕЖД для 6-дневной рабочей недели?

Да. Например, если выходной только воскресенье, используйте параметр [выходные] со значением "0000001":

=РАБДЕНЬ.МЕЖД(A1; B1; "0000001")

где "1" в конце строки обозначает воскресенье как выходной.