Автоматическое выделение и расчёт рабочих дней в Excel

Иван Корнев·13.04.2026·5 мин

Чтобы отметить выходные и рабочие дни в Excel, используйте условное форматирование с функцией ДЕНЬНЕД (или WEEKDAY) для визуального выделения и функции ЧИСТРАБДНИ (NETWORKDAYS) или РАБДЕНЬ (WORKDAY) для математических расчётов. Это позволяет мгновенно видеть график работы на листе и точно рассчитывать сроки проектов, исключая субботы, воскресенья и праздничные даты.

Краткий ответ: Для визуальной пометки выделите диапазон дат → «Главная» → «Условное форматирование» → «Создать правило» → введите формулу =ДЕНЬНЕД(A1;2)>5. Для расчёта длительности проекта используйте =ЧИСТРАБДНИ(дата_начала; дата_конца; диапазон_праздников).

Визуальное выделение выходных дней

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

Настройка условного форматирования для стандартной недели

Если ваши выходные — это суббота и воскресенье, выполните следующие действия:

  1. Выделите диапазон с датами (например, A2:A100).
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите тип правила: «Использовать формулу для определения форматируемых ячеек».
  4. В поле формулы введите:
    =ДЕНЬНЕД(A2;2)>5
    ```
    *Пояснение:* Параметр `2` означает, что неделя начинается с понедельника (1). Значения 6 и 7 соответствуют субботе и воскресенью. Если ваша первая ячейка не `A2`, замените адрес в формуле на адрес активной ячейки выделения.
5.  Нажмите кнопку **Формат**, выберите вкладку **Заливка** и укажите цвет (например, светло-серый или красный).
6.  Нажмите **ОК**.

Лайфхак для разных типов выходных. Если у вас сменный график (например, выходные только воскресенье), измените формулу на =ДЕНЬНЕД(A2;2)=7. Для выделения только субботы используйте =ДЕНЬНЕД(A2;2)=6.

Добавление праздничных дней

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

  1. Создайте отдельный список праздничных дат на любом свободном месте листа (например, в диапазоне H2:H20). Назовем этот диапазон Праздники.
  2. Снова создайте правило условного форматирования для основного календаря.
  3. Используйте формулу:
    =СЧЁТЕСЛИ($H$2:$H$20; A2)>0
    ```
    *Важно:* Используйте абсолютные ссылки (`$`) для диапазона праздников, чтобы правило корректно применялось ко всему выделению.
4.  Задайте уникальный цвет заливки.

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

## Расчёт количества рабочих дней

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

### Функция ЧИСТРАБДНИ (NETWORKDAYS)

Эта функция возвращает количество рабочих дней между двумя датами. Она автоматически исключает субботы и воскресенья.

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

**Примеры использования:**

<div class="table-container"><table style="border-collapse: collapse; width: 100%; margin: 16px 0;"><thead><tr><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Задача</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Формула</th><th style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; background: #f9fafb; font-weight: 600;">Описание</th></tr></thead><tbody><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Простой расчет</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">=ЧИСТРАБДНИ(A2; B2)</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Считает рабочие дни между датами в A2 и B2.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">С учетом праздников</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">=ЧИСТРАБДНИ(A2; B2; $H$2:$H$20)</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Исключает выходные и даты из списка праздников.</td></tr><tr><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Отчет о проделанной работе</td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;"><code style="background-color: rgba(0,0,0,0.05); padding: 2px 4px; border-radius: 3px; font-family: monospace; font-size: 0.9em;">=ЧИСТРАБДНИ(СЕГОДНЯ(); B2)</code></td><td style="border: 1px solid #e5e7eb; padding: 8px; text-align: left; vertical-align: top;">Показывает, сколько рабочих дней осталось до дедлайна.</td></tr></tbody></table></div>


### Функция РАБДЕНЬ (WORKDAY) для расчета сроков

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

**Синтаксис:**
`=РАБДЕНЬ(нач_дата; кол_дней; [праздники])`

**Пример:**
Задача начинается **10 апреля** (ячейка A2), требует **15 рабочих дней** выполнения (ячейка B2). Праздники указаны в `$H$2:$H$20`.
Формула для даты окончания:

```excel
=РАБДЕНЬ(A2; B2; $H$2:$H$20)

Результатом будет конкретная дата, когда задача будет завершена, с «перепрыгиванием» через выходные и праздники.

Работа с нестандартным графиком

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

Настройка кода выходных дней

В этих функциях есть аргумент [код_выходных], который представляет собой строку из семи цифр (0 или 1) или числовой код.

  • 0 — рабочий день.
  • 1 — выходной день. Порядок цифр: Пн, Вт, Ср, Чт, Пт, Сб, Вс.

Примеры строк кода:

  • "0000011" — Стандартные выходные (Сб, Вс).
  • "1111100" — Выходные только Пн и Вт (редко, но возможно).
  • "0000001" — Выходной только Воскресенье.
  • "0011000" — Выходные Среда и Четверг.

Формула с нестандартным графиком:

=ЧИСТРАБДНИ.ИНТЛ(A2; B2; "0000011"; $H$2:$H$20)

Здесь мы явно указываем, что 6-й и 7-й дни недели являются выходными, и добавляем список праздников.

Частая ошибка: При использовании строкового кода (например, "0000011") обязательно заключайте его в кавычки. Если ввести просто цифры без кавычек, Excel может воспринять это как числовой код стандарта, что приведет к неверному результату.

Практические шаблоны и автоматизация

Для создания полноценного инструмента планирования объедините полученные знания в единую таблицу.

Структура идеального файла планирования

  1. Лист «Настройки»: Здесь хранится единственный список праздничных дат на год. Присвойте этому диапазону имя (например, Holidays) через поле имени слева от строки формул. Это упростит формулы на других листах.
  2. Лист «Календарь»:
    • Столбец А: Даты (можно протянуть автозаполнением).
    • Столбец B: День недели (=ТЕКСТ(A2; "ДДДД")).
    • Столбец C: Статус (=ЕСЛИ(СЧЁТЕСЛИ(Holidays; A2)>0; "Праздник"; ЕСЛИ(ДЕНЬНЕД(A2;2)>5; "Выходной"; "Рабочий"))).
    • Примените условное форматирование к столбцу C или A для цветовой индикации.
  3. Лист «Проекты»:
    • Вводите дату начала и длительность в днях.
    • Дата конца рассчитывается автоматически через =РАБДЕНЬ.ИНТЛ(Start; Duration; "0000011"; Holidays).

Динамические диапазоны

Чтобы не менять формулы каждый раз при добавлении нового праздника в список, преобразуйте диапазон праздников в «Умную таблицу» (выделите диапазон и нажмите Ctrl+T). При ссылке на столбец такой таблицы в формулах (например, =ЧИСТРАБДНИ(A2;B2;Таблица1[ДатаПраздника])), Excel будет автоматически учитывать новые строки, добавленные вниз таблицы.

Частые ошибки и решения

ОшибкаПричинаРешение
Формула возвращает #ЗНАЧ!В аргументе даты указан текст или неверный формат ячейки.Убедитесь, что ячейки с датами имеют формат «Дата», а не «Текст».
Праздники не исключаютсяНеверно задан диапазон праздников в формуле.Проверьте абсолютные ссылки ($H$2:$H$20) или имя диапазона.
Неправильный день неделиИспользован неверный второй аргумент в ДЕНЬНЕД.Помните: 2 — пн=1, вс=7. 1 (по умолчанию) — вс=1, сб=7.
Код выходных игнорируетсяСтрока кода введена без кавычек.Используйте формат "0000011".

FAQ

Можно ли сделать так, чтобы пятница тоже считалась выходным? Да. Используйте функцию ЧИСТРАБДНИ.ИНТЛ с кодом "0000111" (где 1 обозначает выходной для Пт, Сб, Вс) или числовым кодом 7.

Как посчитать рабочие часы, а не дни? Excel не имеет встроенной функции для часов с учетом обеда и смен, но можно умножить результат ЧИСТРАБДНИ на количество часов в рабочем дне (например, *8). Для точного учета смен лучше использовать сводные таблицы с детализацией по времени.

Что делать, если праздник выпадает на выходной? В стандартных функциях это не имеет значения — день всё равно не считается рабочим. Если в вашей компании такой день переносится на другой (становится рабочим субботой), вам нужно вручную добавить эту дату в список «исключений» или использовать сложную логику с СУММПРОИЗВ, проверяя каждый день индивидуально.

Работают ли эти формулы в Google Таблицах? Да, названия функций в Google Таблицах аналогичны (NETWORKDAYS, WORKDAY, WEEKDAY), синтаксис полностью совпадает.