Рабочий график в Excel: как создать с нуля за 20 минут (с формулами и шаблонами)

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

Создание рабочего графика в Microsoft Excel или Google Таблицах экономит часы рутинной работы. В отличие от бумажных вариантов или специализированных программ, Excel позволяет автоматизировать расчёты, учитывать смены, выходные и праздники, а также интегрироваться с другими инструментами (например, Power Query для импорта данных из 1С). Главное преимущество — гибкость: вы можете адаптировать график под любые условия, будь то офис с 5-дневкой, производство с посменной работой или удалённая команда с плавающим расписанием.

Многие ошибочно думают, что для этого нужны глубокие знания формул. На деле достаточно освоить 3-4 базовых функции (ЕСЛИ, ВПР, ДЕНЬНЕД), чтобы создать автоматически обновляемый график на месяц или даже год. В этой статье мы разберём пошаговый процесс — от простого шаблона до продвинутых фишек вроде учёта переработок и интеграции с календарём Outlook.

Подготовка: что нужно сделать до создания графика?

Прежде чем открывать Excel, определите ключевые параметры вашего графика:

  • 📅 Тип графика: 5-дневка, сменный (2/2, сутки через трое), гибкий или индивидуальный для каждого сотрудника.
  • Режим работы: фиксированное время (например, 9:00–18:00) или плавающее (с учётом переработок).
  • 🎉 Выходные и праздники: будут ли они фиксированными или зависеть от производственного календаря.
  • 👥 Количество сотрудников: для небольшой команды (до 10 человек) хватит одного листа, для крупного отдела потребуется разнесение по подразделениям.

Если график сменный, заранее составьте список смен с их обозначениями (например, Д — день, Н — ночь, В — выходной). Это упростит настройку формул позже. Для офисных графиков достаточно указать рабочие и выходные дни.

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

Шаг 1: Создаём базовую структуру таблицы

Откройте новый файл Excel и начните с создания "скелета" графика:

  1. В ячейке A1 укажите название отдела или команды (например, "Отдел продаж").
  2. В строке 2 создайте заголовки столбцов:
    • 📌 A2 — "ФИО сотрудника"
    • 📌 B2:AF2 — даты месяца (с 1 по 31 число). Используйте формат дд ммм (например, "01 янв").
  • В столбце A (начиная с A3) перечислите сотрудников.
  • Чтобы быстро заполнить даты, введите в B2 первую дату месяца (например, 01.05.2026), затем потяните маркер автозаполнения вправо. Excel автоматически проставит остальные даты. Для форматирования выделите диапазон B2:AF2 и выберите формат 14 мар в меню Главная → Формат ячеек.

    ☑️ Проверка структуры таблицы

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

    Шаг 2: Настраиваем автоматическое определение выходных

    Чтобы Excel сам отмечал выходные (субботу и воскресенье), используйте функцию ДЕНЬНЕД в сочетании с условным форматированием:

    1. Выделите диапазон с датами (B3:AF100, где 100 — примерное количество сотрудников).
    2. Перейдите в Главная → Условное форматирование → Создать правило.
    3. Выберите тип правила Использовать формулу для определения форматируемых ячеек.
    4. Введите формулу:
      =ИЛИ(ДЕНЬНЕД(B$2;2)>5;B$2="")

      где B$2 — ячейка с датой в заголовке столбца.

    5. Задайте серый фон для выходных и нажмите ОК.

    Теперь все субботы и воскресенья будут автоматически подсвечиваться. Если у вас нестандартные выходные (например, воскресенье-понедельник), измените условие в формуле на =ИЛИ(ДЕНЬНЕД(B$2;2)=1;ДЕНЬНЕД(B$2;2)=7).

    Шаг 3: Добавляем смены и автоматические обозначения

    Для сменного графика настройте автоматическое заполнение смен по шаблону. Например, если у вас график "сутки через трое", используйте следующую схему:

    1. Создайте на отдельном листе таблицу смен с обозначениями:
      КодНазвание сменыЦвет
      ДДневная (09:00–21:00)Золотой
      ННочная (21:00–09:00)Синий
      ВВыходнойСерый
      ООтпускСветло-зелёный
    2. Вернитесь на лист с графиком и в ячейку B3 введите формулу для автоматического заполнения смен:
      =ЕСЛИ(ИЛИ(ДЕНЬНЕД(B$2;2)>5;B$2="");"В";ЕСЛИ(МОД(СТРОКА()-2;4)=0;"Н";"Д"))

      Эта формула:

      • 🔹 Ставит "В" на выходных.
      • 🔹 Чередует смены по циклу: 3 дня дневных (Д) + 1 ночная (Н).
  • Скопируйте формулу на весь диапазон графика.
  • Для гибкого графика (например, 2/2) измените условие в формуле на МОД(СТРОКА()-2;4)<2 — это даст чередование 2 рабочих дня и 2 выходных.

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

    Если у сотрудников разные графики, создайте отдельный столбец с типом графика (например, "2/2", "5/2") и используйте функцию ВПР, чтобы подтягивать соответствующие смены из справочника.

    Шаг 4: Добавляем учёт рабочего времени и переработок

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

    1. Добавьте после последней даты месяца столбцы:
      • 📊 AG2 — "Норма часов"
      • 📊 AH2 — "Фактически отработано"
      • 📊 AI2 — "Переработка/недоработка"
  • В столбце AG укажите месячную норму часов для каждого сотрудника (например, 160 для 5-дневки).
  • В AH3 введите формулу подсчёта отработанных часов:
    =СУММПРОИЗВ(B3:AF3;--(B3:AF3<>"В");12)

    где 12 — количество часов в одной смене (замените на своё значение).

  • В AI3 добавьте формулу для расчёта отклонений:
    =AH3-AG3
  • Критическая деталь: если у вас разная продолжительность смен (например, дневная — 12 часов, ночная — 10), создайте справочник смен с указанием часов и используйте СУММПРОИЗВ с подтягиванием данных из него.

    Шаг 5: Интеграция с производственным календарём

    Чтобы автоматически учитывать государственные праздники, импортируйте их из внешнего источника или создайте справочник вручную:

    1. Создайте новый лист Праздники и добавьте таблицу:
      ДатаНазвание праздника
      01.01.2026Новый год
      07.01.2026Рождество
      23.02.2026День защитника Отечества
      08.03.2026Международный женский день
    2. Вернитесь на лист с графиком и добавьте условное форматирование для праздников:
      • 🎨 Формула: =НЕОШИБКА(ВПР(B$2;Праздники!$A$2:$B$100;1;ЛОЖЬ))
      • 🎨 Цвет заполнения: красный.
  • Модифицируйте формулу из Шага 2, чтобы праздники тоже считались выходными:
    =ЕСЛИ(ИЛИ(ДЕНЬНЕД(B$2;2)>5;B$2="";НЕОШИБКА(ВПР(B$2;Праздники!$A$2:$B$100;1;ЛОЖЬ)));"В";...)
  • Для автоматизации обновления праздников можно подключить Power Query к официальному производственному календарю (например, с сайта КонсультантПлюс). Это избавит от ручного ввода данных каждый год.

    Шаг 6: Экспорт графика в Outlook и печать

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

    1. 📧 Экспорт в Outlook:
      • 📌 Выделите диапазон графика (включая заголовки).
      • 📌 Нажмите Файл → Экспорт → Импорт в Outlook (в некоторых версиях Excel потребуется сохранить как .csv и импортировать вручную).
      • 📌 В Outlook выберите Файл → Открыть и экспортировать → Импорт/экспорт → Импортировать из другой программы.
  • 🖨️ Печать графика:
    • 📌 Перейдите в Файл → Печать → Параметры страницы.
    • 📌 Установите Альбомная ориентация и масштаб По размеру страницы.
    • 📌 Добавьте колонтитулы с названием отдела и месяцем.
    • Для крупных графиков (более 20 сотрудников) рекомендуется разбивать печать на несколько страниц. Используйте Разрывы страниц (Вид → Режим разметки → Разрывы), чтобы контролировать, где Excel будет делить таблицу.

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

      Как сделать график на год, а не на месяц?

      Создайте отдельные листы для каждого месяца или используйте сводную таблицу с фильтром по месяцам. Для автоматического переключения между месяцами добавьте выпадающий список с названием месяцев и функцию ИНДЕКС/ПОИСКПОЗ для подтягивания данных.

      Можно ли настроить оповещения о сменах в Telegram?

      Да, для этого потребуется:

      1. Экспортировать график в Google Таблицы.
      2. Написать скрипт на Google Apps Script для отправки уведомлений.
      3. Подключить бота @BotFather в Telegram и настроить вебхуки.

    Готовые шаблоны скриптов можно найти на GitHub (поиск по запросу "Google Sheets to Telegram schedule").

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

    Добавьте в справочник смен новые коды (например, Б — больничный, О — отпуск) и настройте для них отдельное условное форматирование. Для автоматического подсчёта дней отпуска используйте функцию СЧЁТЕСЛИ:

    =СЧЁТЕСЛИ(B3:AF3;"О")

    Почему формулы медленно работают на большом графике?

    Причины и решения:

    • 🐢 Слишком много условного форматирования: уменьшите диапазон применения правил.
    • 🐢 Волатильные функции (например, СЕГОДНЯ): замените их на фиксированные даты.
    • 🐢 Слишком много листов: объедините данные в одну таблицу с фильтрами.
    • Для ускорения переведите график в Значения (Копировать → Специальная вставка → Значения) после окончательной настройки.

    Как защитить график от изменений?

    Выделите диапазон с графиком, нажмите Рецензирование → Защитить лист и установите пароль. Чтобы разрешить редактирование только определённым ячейкам (например, для внесения больничных), снимите защиту с них до блокировки листа:

    1. Выделите ячейки, которые можно редактировать.
    2. Нажмите Главная → Формат → Формат ячеек → Защита и снимите галочку с Защищаемая ячейка.
    3. Защитите лист.