Расчёт графика работы в Excel: от простого к автоматизированному

Почему Excel — лучший инструмент для составления графиков работы

Составление графика работы — задача, с которой сталкивается каждый HR-специалист, руководитель отдела или предприниматель. Вручную это делать не только долго, но и чревато ошибками: можно пропустить выходной, не учесть нормы рабочего времени или перепутать смены сотрудников. Microsoft Excel решает эту проблему, позволяя автоматизировать процесс с помощью формул, условного форматирования и сводных таблиц.

В отличие от специализированных программ (например, 1С:Зарплата или Bitrix24), Excel даёт гибкость: вы можете адаптировать график под любые условия — от 5/2 до скользящих смен с ночными дежурствами. Кроме того, файл всегда под рукой: его можно открыть на любом устройстве, отправить коллегам или распечатать для визуального контроля. Главное — правильно настроить логику расчётов.

В этой статье мы разберём:

  • 📅 Как составить базовый график на месяц с учётом выходных и праздников
  • ⚙️ Какие формулы использовать для автоматического заполнения смен
  • ⚖️ Как соблюсти нормы Трудового кодекса РФ (ст. 91, 100, 110) при планировании
  • 📊 Как визуализировать график для удобства сотрудников и проверок

Все примеры приведены для Excel 2019 и Microsoft 365, но подойдут и для Google Таблиц с минимальными правками. Готовые шаблоны вы сможете скачать в конце статьи.

📊 Какой график работы используется в вашей компании?
5/2 (пятидневка)
Сменный (2 через 2)
Скользящий (гибкий)
Иное

Подготовка файла: структура и исходные данные

Прежде чем приступать к формулам, нужно правильно организовать таблицу. Ошибка на этом этапе приведёт к тому, что график будет считаться неправильно или вообще не будет работать. Вот минимальный набор данных, который потребуется:

  • 📋 Список сотрудников (ФИО, должность, табельный номер)
  • 🗓️ Даты месяца с указанием выходных и праздников
  • ⏰ Типы смен (утренняя, дневная, ночная, выходной) и их продолжительность
  • 📌 Нормы рабочего времени (например, 40 часов в неделю)

Создайте новый файл и разбейте его на 3 листа:

  1. Сотрудники — здесь храните ФИО, должности и индивидуальные условия (например, неполный рабочий день).
  2. Календарь — таблица с датами, днями недели и пометками о выходных.
  3. График — итоговая таблица, где будут отображаться смены.

Пример структуры листа Календарь:

Дата День недели Тип дня Праздник
01.06.2026 Воскресенье Выходной День защиты детей
02.06.2026 Понедельник Рабочий -
03.06.2026 Вторник Рабочий -

Важно: Для автоматического определения дней недели используйте формулу =ТЕКСТ(A2;"ДДДД"), где A2 — ячейка с датой. Это избавит от ручного ввода.

Формулы для автоматического заполнения смен

Теперь перейдём к самому сложному — настройке логики распределения смен. Здесь есть два подхода:

  1. Жёсткий график (например, 2 через 2 или день-ночь-отдых) — подходит для производств или круглосуточных служб.
  2. Гибкий график — когда смены распределяются с учётом нагрузки или пожеланий сотрудников.

Рассмотрим первый вариант на примере графика 2 через 2 (два рабочих дня, два выходных). Для этого:

  1. На листе График создайте таблицу, где строки — сотрудники, столбцы — даты.
  2. В ячейку с первой датой для первого сотрудника введите 1 (начало цикла).
  3. В следующей ячейке (следующий день) введите формулу:
    =ЕСЛИ(I2="Выходной";"В";ЕСЛИ(MOD(H2;4)<2;"Р";"В"))

    где:

    • I2 — ячейка с типом дня (из листа Календарь),
    • H2 — ячейка с предыдущим днём цикла,
    • MOD(H2;4) — остаток от деления (определяет позицию в цикле).

Критическая деталь: если в вашей компании смены длятся не 24 часа, а например 12 (утро/вечер), замените MOD(H2;4) на MOD(H2;3) и скорректируйте условия в формуле.

Для гибкого графика используйте функцию ВЫБОР или ИНДЕКС с учётом приоритетов сотрудников. Например:

=ЕСЛИОШИБКА(ИНДЕКС(Смены;ПОИСКПОЗ(MИН(ЕСЛИ(ДостСотр=ИСТИНА;КолВоСмен));КолВоСмен;0));;"Нет данных")

Используются абсолютные ссылки ($A$1) для фиксированных диапазонов|

Формулы скопированы на весь диапазон дат|

Учтены праздничные дни как выходные|

Проверена логика смен на стыке месяцев (например, 31.05 → 01.06)

-->

Учёт норм рабочего времени по ТК РФ

Составленный график должен соответствовать Трудовому кодексу РФ, иначе компания рискует получить штрафы от трудовой инспекции. Основные требования:

  • ⏱️ Норма рабочего времени — не более 40 часов в неделю (ст. 91 ТК РФ).
  • 🌙 Ночные смены (с 22:00 до 6:00) должны быть сокращены на 1 час (ст. 96 ТК РФ).
  • Перерывы — не менее 30 минут после 4 часов работы (ст. 108 ТК РФ).
  • 🛌 Еженедельный отдых — не менее 42 часов (ст. 110 ТК РФ).

Чтобы автоматизировать проверку норм, добавьте в таблицу дополнительные столбцы:

ФИО Дата Смена Часы Недельная норма Превышение
Иванов И.И. 02.06.2026 Дневная 8 =СУММ(E2:E8) =ЕСЛИ(F2>40;F2-40;"-")

Для подсчёта ночных часов используйте формулу:

=ЕСЛИ(ИЛИ(ВРЕМЯ(ЧАС(НачалоСмены);МИНУТЫ(НачалоСмены);0)>=ВРЕМЯ(22;0;0);ВРЕМЯ(ЧАС(КонецСмены);МИНУТЫ(КонецСмены);0)<=ВРЕМЯ(6;0;0));1;0)
Что будет если не соблюдать нормы ТК РФ?

Нарушение норм рабочего времени чревато штрафами:

- Для должностных лиц: от 1 000 до 5 000 рублей (ч. 1 ст. 5.27 КоАП РФ).

- Для ИП: от 1 000 до 5 000 рублей или приостановка деятельности на 90 суток.

- Для юридических лиц: от 30 000 до 50 000 рублей.

Если нарушение повлекло вред здоровью сотрудника, ответственность уже будет по Уголовному кодексу (ст. 143 УК РФ).

Визуализация графика: условное форматирование и сводные таблицы

Готовый график должен быть не только правильным, но и удобочитаемым. Для этого используйте:

  • 🎨 Условное форматирование — подсветка выходных, ночных смен, переработок.
  • 📈 Сводные таблицы — для анализа нагрузки по отделам или должностям.
  • 🖼️ Диаграммы — например, гистограмма распределения смен по дням недели.

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

  1. Выделите диапазон с графиком (например, B2:Z20).
  2. Перейдите на вкладку Главная → Условное форматирование → Создать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. Установите условие: Текст → содержащий → "Ночная" и задайте фон тёмно-синего цвета.

Для сводной таблицы:

  1. Выделите исходные данные (ФИО, даты, смены).
  2. Нажмите Вставка → Сводная таблица.
  3. В строки перетащите ФИО, в столбцы — День недели, в значения — Количество смен.

Совет: Если график используется для большого количества сотрудников (50+), разбейте его на отдельные листы по отделам или бригадам. Это ускорит работу файла и упростит навигацию.

Автоматизация: макросы и Power Query

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

  • 🤖 Макросов VBA — для копирования шаблона на новый месяц.
  • 🔄 Power Query — для импорта данных из других источников (например, из или Google Календаря).

Пример макроса для копирования графика на следующий месяц:

Sub CopyGraphic()

Dim ws As Worksheet

Set ws = ThisWorkbook.Sheets("График")

ws.Range("A1:Z100").Copy

ws.Range("A101").PasteSpecial xlPasteAll

' Обновляем даты на следующий месяц

Dim nextMonth As Date

nextMonth = DateSerial(Year(Date), Month(Date) + 1, 1)

ws.Range("A101").Value = nextMonth

' Заполняем остальные даты

ws.Range("A101").AutoFill Destination:=ws.Range("A101:A131"), Type:=xlFillSeries

Application.CutCopyMode = False

End Sub

Для Power Query:

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

Автоматизация особенно полезна, если:

  • 📅 График составляется для 100+ сотрудников.
  • 🔄 Есть частые изменения (больничные, отпуска, командировки).
  • 📊 Нужно интегрировать данные с другими системами (например, табелем учёта рабочего времени).

Типичные ошибки и как их избежать

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

⚠️ Внимание: Если в формуле используется функция ДЕНЬНЕД для определения выходных, учитывайте, что в некоторых регионах РФ выходными являются пятница и суббота (например, в республиках Северного Кавказа). Настройте формулу под местные особенности!
  • 🔄 Зацикливание смен — когда график "сбивается" из-за неправильного учёта остатка от деления (MOD). Решение: Проверяйте логику на стыке месяцев.
  • 📅 Пропущенные праздники — если не обновлять лист Календарь, график будет считать праздники как рабочие дни. Решение: Используйте ВПР для подтягивания праздников из внешнего источника.
  • Превышение нормы рабочего времени — часто возникает при ручной правке графика. Решение: Добавьте столбец с проверкой =ЕСЛИ(СУММ(ЧасыЗаНеделю)>40;"Превышение";"ОК").

Ещё одна типичная проблема — конфликт смен, когда на одну дату назначено недостаточно сотрудников (например, в ночную смену должен работать 1 человек, а график назначил 0). Чтобы этого избежать, добавьте проверку:

=ЕСЛИ(СЧЁТЕСЛИ(ДиапазонСмен;Дата)<МинимальноеКолВоСотрудников;"Недостаток персонала";"ОК")

Если график используется для круглосуточного предприятия (больница, охрана), обязательно проверяйте:

  • 🕒 Перекрытие смен (нет "окон" без сотрудников).
  • 🛌 Соблюдение времени отдыха между сменами (не менее 12 часов).

Готовые шаблоны и полезные надстройки

Если нет времени или желания создавать график с нуля, воспользуйтесь готовыми решениями:

  • 📄 Шаблоны от Microsoft — в самом Excel есть встроенные шаблоны графиков (вкладка Файл → Создать → График работы).
  • 🔧 Надстройка "Shift Scheduler" — плагин для Excel, который автоматизирует распределение смен с учётом пожеланий сотрудников.
  • 🌐 Онлайн-сервисы — например, When I Work или Shiftboard, которые можно интегрировать с Excel через API.

Для скачивания нашего шаблона графика работы перейдите по ссылке:

Скачать шаблон графика работы в Excel (файл включает формулы, условное форматирование и инструкцию).

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

Надстройка Функционал Стоимость
Excel Shift Planner Автоматическое распределение смен, учёта отпусков, больничных От 1 500 руб.
TimeTrex Интеграция с табелем, расчёт зарплаты, отчёты От 3 000 руб./мес.

Важно: Перед покупкой надстройки проверьте её совместимость с вашей версией Excel. Некоторые плагины работают только в Microsoft 365 или Excel 2019.

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

Как учесть отпуска и больничные в графике?

Добавьте на лист Сотрудники столбцы Отпуск с, Отпуск по, Больничный с, Больничный по. Затем модифицируйте формулу графика:

=ЕСЛИ(ИЛИ(Дата>=ОтпускС;Дата<=ОтпускПо);"О";ЕСЛИ(ИЛИ(Дата>=БольничныйС;Дата<=БольничныйПо);"Б";ИсходнаяФормула))

Где О — отпуск, Б — больничный.

Можно ли сделать график для скользящего расписания (например, 2/2, 3/1)?

Да. Для этого:

  1. Создайте на отдельном листе таблицу с паттернами смен (например, РРВВ для 2/2).
  2. Используйте функцию ПОВТОР или ИНДЕКС для циклического распределения паттернов.
  3. Добавьте проверку на праздники и индивидуальные условия сотрудников.

Пример формулы для паттерна РРВВ:

=ИНДЕКС(Паттерн;MOD(СЧЁТЗ($A$2:A2)-1;4)+1)
Как экспортировать график в Word или PDF для распечатки?

Чтобы график хорошо выглядел на бумаге:

  1. Выделите диапазон графика.
  2. Перейдите на вкладку Разметка страницы → Область печати → Задать.
  3. Настройте параметры страницы (Файл → Печать): ориентация Альбомная, масштаб По ширине.
  4. Для экспорта в PDF нажмите Файл → Экспорт → Создать PDF/XPS.

Если график не помещается на один лист, разбейте его на части или уменьшите шрифт (но не менее 10 pt для читаемости).

Как учитывать переработки и оплачивать их в 1,5 или 2 размере?

Добавьте в график столбцы:

  • Норма часов — 40 часов в неделю.
  • Фактические часы — сумма по сотруднику за неделю.
  • Переработка=ЕСЛИ(ФактическиеЧасы>Норма;ФактическиеЧасы-Норма;0).
  • Оплата переработки=ЕСЛИ(Переработка>2;(Переработка-2)*2+2*1,5;Переработка*1,5) (первые 2 часа в 1,5 размере, остальные — в 2).
Можно ли интегрировать график из Excel с 1С:Зарплатой?

Да, есть несколько способов:

  1. Ручной импорт: экспортируйте график в .csv и загружайте в 1С через Администрирование → Загрузка данных.
  2. Обмен через XML: настройте правила конвертации в 1С и используйте Внешние обработки.
  3. Специализированные модули: например, "1С:Интеграция с Excel" (стоимость от 5 000 руб.).

Для автоматического обмена потребуется помощь программиста 1С.