Составить график рабочих дней в Microsoft Excel — задача, с которой сталкиваются HR-специалисты, менеджеры проектов и владельцы бизнеса. Казалось бы, что может быть проще: расписать дни недели и отметить выходные? Но на практике всё усложняется учётом праздничных дней, сменного графика, индивидуальных особенностей сотрудников и необходимости автоматизировать процесс, чтобы не править таблицу вручную каждый месяц.
В этой статье вы найдёте пошаговые инструкции для создания графика любой сложности — от базового календаря с выходными до динамического расписания с учётом праздников и смен. Мы разберём формулы Excel, которые сэкономят часы работы, покажем, как визуализировать данные с помощью условного форматирования, и поделимся готовыми шаблонами, которые можно скачать и адаптировать под свои нужды.
Если вы никогда не работали с датами в Excel, не переживайте: мы начнём с азов и постепенно перейдём к продвинутым техникам. А если вы опытный пользователь, то найдёте здесь неочевидные лайфхаки, например, как автоматически подсвечивать праздники или генерировать график на год вперёд за несколько кликов.
1. Базовый график рабочих дней: шаг за шагом
Начнём с самого простого — создания статичного графика на месяц с учётом стандартных выходных (суббота и воскресенье). Этот метод подойдёт для небольших команд или личного планирования.
Шаг 1. Создайте структуру таблицы
Откройте новый лист в Excel и создайте заголовки для столбцов:
- 📅 Дата — здесь будут отображаться дни месяца.
- 🏢 День недели — для удобства восприятия.
- 👔 Тип дня — рабочий/выходной/праздник.
- ⏰ Время работы — график (например, 9:00–18:00).
Шаг 2. Заполните столбец с датами
В ячейку A2 введите первую дату месяца (например, 01.06.2026). Затем:
- Выделите ячейку
A2. - Подведите курсор к правому нижнему углу ячейки (появится чёрный крестик — маркер заполнения).
- Протяните вниз до конца месяца (например, до 30 или 31 числа).
Excel автоматически заполнит столбец последовательными датами.
Шаг 3. Определите дни недели
В ячейку B2 введите формулу:
=ТЕКСТ(A2;"ДДДД")
Эта формула преобразует дату в полное название дня недели (например, "понедельник"). Протяните её вниз до конца списка дат.
Шаг 4. Пометьте выходные
В столбце C2 (Тип дня) используйте формулу:
=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A2;2)>5);"Выходной";"Рабочий")
Здесь
Аргумент "2" в функции ДЕНЬНЕД(A2;2) возвращает номер дня недели (1 — понедельник, 7 — воскресенье). Формула проверяет, если день суббота (6) или воскресенье (7), то помечает его как "Выходной".
Почему в формуле используется аргумент "2"?
ДЕНЬНЕД указывает, что неделя начинается с понедельника (1). Если не указать этот аргумент или поставить "1", то неделя будет начинаться с воскресенья (стандарт США).
2. Учёт праздничных дней: как не пропустить нерабочие даты
Стандартный график с выходными в субботу и воскресенье — это только половина дела. В России (как и в других странах) есть государственные праздники, которые выпадают на будни и тоже считаются выходными. Как их учесть?
Способ 1. Ручной ввод праздников
Создайте отдельный лист в книге Excel и назовите его "Праздники". В первом столбце перечислите все праздничные даты на год (например, 1 января, 9 мая и т. д.). Затем вернитесь на лист с графиком и модифицируйте формулу в столбце C2:
=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A2;2)>5;СЧЁТЕСЛИ(Праздники!A:A;A2)>0);"Выходной";"Рабочий")
Функция СЧЁТЕСЛИ проверяет, есть ли текущая дата в списке праздников. Если да — день помечается как выходной.
Способ 2. Автоматическое подтягивание праздников из интернета (Power Query)
Если у вас Excel 2016 или новее, можно подгрузить список праздников автоматически:
- Перейдите на вкладку
Данные→Получить данные→Из других источников→Из веб. - Вставьте URL с календарём праздников (например, с сайта Consultant.ru или Календарь.ру).
- Преобразуйте данные в таблицу и загрузите на отдельный лист.
Теперь ваш график будет обновляться автоматически при изменении списка праздников.
3. График сменной работы: чередование дневных и ночных смен
Если ваша команда работает посменно (например, "день-ночь-отдых"), стандартный график не подойдёт. Здесь нужна более сложная логика, которая будет чередовать смены с учётом цикла.
Пример: график "2 через 2" (два дня работы, два дня отдыха)
Допустим, смены начинаются с 1 июня. Создайте дополнительный столбец D2 с названием "Смена" и используйте формулу:
=ЕСЛИ(ОСТАТ(MOD(СЧЁТЗ(A$2:A2)-1;4);4)<2;"День";ЕСЛИ(ОСТАТ(MOD(СЧЁТЗ(A$2:A2)-1;4);4)<4;"Ночь";"Отдых"))
Разберём, как это работает:
- 🔢
СЧЁТЗ(A$2:A2)— считает количество заполненных ячеек в столбце A (т. е. дни). - 🔄
MOD(...,4)— делит номер дня на 4 (цикл "2+2") и возвращает остаток. - 📊
ОСТАТ(...,4)— дублируетMODдля совместимости со старыми версиями Excel.
В результате формула чередует: 2 дня "День" → 2 дня "Ночь" → и так далее.
Визуализация смен с помощью условного форматирования
Чтобы график был наглядным, подсветите ячейки разными цветами:
- Выделите столбец
D(Смена). - Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Установите правило:
Текст→содержит→День, и задайте зелёный фон. - Повторите для "Ночь" (синий фон) и "Отдых" (серый фон).
Сверьте количество рабочих/выходных дней в цикле|Убедитесь, что праздники не попали на рабочие смены|Проверьте, что ночные смены не следуют подряд более допустимого лимита|Настройте условное форматирование для наглядности-->
4. Динамический график: автоматизация на год вперёд
Создавать график заново каждый месяц — утомительно. Гораздо удобнее сделать динамическую таблицу, которая будет обновляться автоматически при изменении года или месяца.
Шаг 1. Создайте выпадающие списки для года и месяца
В ячейках E1 и F1 создайте выпадающие списки:
- 📅 Для года:
Данные→Проверка данных→Список→ укажите диапазон с годами (например, 2026, 2026, 2026). - 📆 Для месяца: аналогично, но со значениями от 1 до 12.
Шаг 2. Формула для первой даты месяца
В ячейку A2 введите:
=ДАТА($E$1;$F$1;1)
Эта формула берёт год из E1 и месяц из F1, формируя первую дату выбранного периода.
Шаг 3. Автоматическое заполнение дат до конца месяца
В ячейку A3 введите:
=ЕСЛИ(A2="";"";ЕСЛИ(ДЕНЬ(A2+1)=1;"";A2+1))
Протяните формулу вниз на 31 строку. Логика проста:
- Если следующая дата — 1-е число (новый месяц), ячейка остаётся пустой.
- Иначе добавляется +1 день.
Шаг 4. Добавляем названия месяцев
В ячейку B1 (над графиком) введите формулу для отображения названия месяца и года:
=ТЕКСТ(ДАТА($E$1;$F$1;1);"ММММ YYYY")
Теперь при изменении выпадающих списков график будет пересчитываться автоматически.
5. Учёт индивидуальных графиков сотрудников
В реальной жизни у сотрудников могут быть индивидуальные графики: кто-то работает на полставки, кто-то в удалённом формате, а у кого-то гибкий график. Как учесть это в Excel?
Способ 1. Отдельные листы для каждого сотрудника
Создайте копию листа с базовым графиком для каждого сотрудника и переименуйте листы по фамилиям. Затем скорректируйте график под индивидуальные особенности:
- 🕒 Измените время работы (столбец
D). - 🏠 Добавьте столбец "Формат работы" (офис/удалёнка).
- 📅 Укажите персональные выходные (например, "пятница — короткий день").
Способ 2. Сводная таблица с фильтрами
Если сотрудников много, удобнее создать сводную таблицу:
- На отдельном листе соберите данные всех сотрудников в одну таблицу с колонками:
ФИО,Дата,Тип дня,Время работы. - Выделите таблицу и нажмите
Вставка→Сводная таблица. - В настройках сводной таблицы перетащите
ФИОв поле "Строки", аДатаиТип дня— в поле "Значения". - Добавьте срезы (
Вставка→Срез), чтобы быстро фильтровать графики по сотрудникам или месяцам.
Способ 3. Использование Power Pivot (для продвинутых пользователей)
Если у вас Excel 2013 или новее, можно воспользоваться надстройкой Power Pivot для создания многомерных моделей данных. Это позволит:
- 🔗 Связать несколько таблиц (например, графики, праздники, данные сотрудников).
- 📊 Создавать сложные вычисления (например, подсчёт отработанных часов по каждому сотруднику).
- 🔄 Автоматически обновлять данные при изменении исходных таблиц.
Sub ОбновитьГрафики()
ActiveWorkbook.RefreshAll
End Sub
Присвойте макрос фигуре (например, кнопке) на листе.-->
6. Визуализация графика: как сделать его понятным
График рабочих дней должен быть не только функциональным, но и наглядным. Вот несколько приёмов, которые помогут улучшить восприятие:
1. Условное форматирование по типам дней
Мы уже использовали его для подсветки смен, но можно пойти дальше:
| Тип дня | Цвет фона | Цвет текста | Пример правила |
|---|---|---|---|
| Рабочий день | Светло-зелёный | Чёрный | =И($C2="Рабочий";ДЕНЬНЕД($A2;2)<6) |
| Выходной | Светло-серый | Тёмно-серый | =ИЛИ($C2="Выходной";ДЕНЬНЕД($A2;2)>5) |
| Праздник | Светло-красный | Белый | =И($C2="Праздник";СЧЁТЕСЛИ(Праздники!A:A;$A2)>0) |
| Ночная смена | Тёмно-синий | Белый | =И($D2="Ночь") |
2. Добавьте индикаторы загруженности
Если в вашей команде есть пиковые дни (например, пятница — самый загруженный день), отметьте это визуально:
- 📈 Используйте
Гистограммыв ячейках (условное форматирование → гистограммы). - 🔴 Добавьте столбец "Нагрузка" и заполните его значениями от 1 до 5 (1 — минимальная, 5 — максимальная).
3. Вставьте календарь на год
Для долгосрочного планирования удобно иметь годовой календарь на одном листе. Создать его можно с помощью формул или скачать готовый шаблон. Пример формулы для ячейки с датой:
=ДАТА($A$1;СТРОКА(A1);СТОЛБЕЦ(A1))
Где:
$A$1— ячейка с годом.СТРОКА(A1)— номер месяца (от 1 до 12).СТОЛБЕЦ(A1)— номер дня в месяце (от 1 до 31).
Как скрыть пустые ячейки в календаре?
Используйте условное форматирование с правилом =ИМЕННО(A1;"") и установите белый цвет текста для пустых ячеек. Так дни, которых нет в месяце (например, 31 апреля), не будут отвлекать.
7. Экспорт и печать графика
Когда график готов, его нужно распечатать или экспортировать для рассылки сотрудникам. Вот как сделать это профессионально:
1. Настройка области печати
Перед печатью:
- 🖼️ Выделите диапазон ячеек, который нужно напечатать.
- 📄 Перейдите на вкладку
Разметка страницы→Область печати→Задать. - 🔍 Убедитесь, что все столбцы помещаются на странице (при необходимости измените масштаб в настройках печати).
2. Добавьте колонтитулы
В колонтитулах укажите:
- 📅 Месяц и год (можно автоматизировать с помощью
&[Месяц] &[Год]). - 🏢 Название отдела или компании.
- 📧 Контакты для вопросов (например, email HR-менеджера).
3. Экспорт в PDF
Чтобы отправить график сотрудникам:
- Нажмите
Файл→Экспорт→Создать PDF/XPS. - Выберите папку для сохранения и нажмите
Опубликовать. - При необходимости защитите файл паролем (в настройках PDF).
4. Автоматическая рассылка по email (с помощью Power Automate)
Если вы используете Microsoft 365, можно настроить автоматическую рассылку графиков по email:
- 🤖 Создайте поток в Power Automate с триггером "По расписанию" (например, 25-го числа каждого месяца).
- 📎 Добавьте действие "Экспорт файла Excel в PDF".
- ✉️ Настройте действие "Отправить email" с вложением PDF.
8. Типичные ошибки и как их избежать
Даже в простом графике легко допустить ошибку, которая приведёт к путанице. Вот самые распространённые проблемы и способы их решения:
1. Неучтённые праздничные дни
Проблема: В графике не отмечены переносы выходных (например, если праздничный понедельник становится выходным, а суббота — рабочим днём).
Решение: Сверяйтесь с производственным календарём на текущий год (публикуется на сайте Правительства РФ). Добавьте в список праздников не только сами праздники, но и перенесённые выходные.
2. Ошибки в формулах при копировании
Проблема: При протягивании формулы вниз ссылки на ячейки сбиваются (например, вместо $A$1 становится A2).
Решение: Используйте абсолютные ссылки (со знаком $) для фиксированных ячеек (например, год и месяц в динамическом графике). Пример правильной формулы:
=ДАТА($E$1;$F$1;СТРОКА(A1))
3. Конфликты в сменном графике
Проблема: Сотрудник назначен на две смены подряд без отдыха (например, ночная смена заканчивается в 8:00, а дневная начинается в 9:00).
Решение: Добавьте в график столбец "Проверка" с формулой:
=ЕСЛИ(И(D2="Ночь";D3="День");"Конфликт!";"")
Эта формула выявит дни, когда ночная смена сразу сменяется дневной.
4. Несоответствие дат и дней недели
Проблема: В графике указано, что 1 июня — среда, хотя на самом деле это суббота.
Решение: Проверьте формат ячеек с датами. Они должны быть в формате Дата, а не Текст. Если Excel воспринимает даты как текст, используйте функцию =ДАТАЗНАЧ(A2) для преобразования.
5. Забытые обновления графика
Проблема: График не обновляется при смене месяца, потому что формулы не пересчитываются.
Решение: Настройте автоматический пересчёт формул:
- Перейдите в
Файл→Параметры→Формулы. - В разделе
Параметры вычисленийвыберитеАвтоматически.
FAQ: Ответы на частые вопросы
🔹 Как учесть региональные праздники (например, День города)?
Создайте отдельный лист "Региональные праздники" и добавьте туда даты. Затем модифицируйте формулу в столбце "Тип дня":
=ЕСЛИ(ИЛИ(ДЕНЬНЕД(A2;2)>5;СЧЁТЕСЛИ(Праздники!A:A;A2)>0;СЧЁТЕСЛИ(Региональные!A:A;A2)>0);"Выходной";"Рабочий")
🔹 Можно ли сделать график, который сам подсчитывает отработанные часы?
Да! Добавьте столбец "Часы" и используйте формулу:
=ЕСЛИ(C2="Рабочий";8;ЕСЛИ(C2="Ночь";12;0))
Затем внизу таблицы добавьте строку с суммой:
=СУММ(E2:E31)
Для подсчёта часов по каждому сотруднику используйте функцию СУММЕСЛИ.
🔹 Как сделать график для вахтового метода работы (например, 15/15)?
Используйте формулу с учётом цикла:
=ЕСЛИ(ОСТАТ(СЧЁТЗ($A$2:A2);30)<15;"Работа";"Отдых")
Здесь 30 — длина цикла (15 рабочих + 15 выходных дней). Для вахты 30/30 замените на 60.
🔹 Можно ли интегрировать график Excel с Google Календарём?
Да, для этого:
- Экспортируйте график в формат
.csv. - Импортируйте его в Google Календарь через
Файл→Импорт. - Настройте повторяющиеся события для смен.
Alternatively, используйте надстройку Excel to Google Calendar для автоматической синхронизации.
🔹 Как защитить график от случайных изменений?
Выделите диапазон ячеек, который нужно защитить, затем:
- Перейдите на вкладку
Рецензирование→Защитить лист. - Установите пароль (необязательно).
- В настройках защиты разрешите только те действия, которые нужны пользователям (например, выделение ячеек).
Внимание: Не забывайте пароль — восстановить его невозможно!