Как посчитать количество смен в месяц при сменном графике работы в Excel

Расчёт количества смен в месяц — одна из самых частых задач для HR-специалистов, бухгалтеров и руководителей сменных бригад. Без точных данных невозможно правильно начислить зарплату, спланировать нагрузку или соблюсти требования Трудового кодекса. Вручную считать смены — долгий и чреват ошибками процесс, особенно если график меняется ежемесячно или в команде десятки сотрудников.

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

Вы узнаете, как:

  • 📅 Создать базовую таблицу графика смен в Excel
  • ⚙️ Использовать формулы СЧЁТЕСЛИ, СУММЕСЛИ и ЕСЛИ для разных типов графиков
  • 📊 Автоматизировать расчёт смен с учётом праздников и больничных
  • 📈 Построить визуализацию графика для наглядного анализа

Все примеры адаптированы под актуальные версии Excel 2019–2023 и Excel Online, а также совместимы с Google Таблицами. Если вы работаете со сменным графиком 2/2, сутки через трое или ротацией по неделям — здесь найдёте готовые решения.

📊 Какой сменный график используете вы?
2 через 2
Сутки через трое
Неделя через неделю
Другой
Не работаю по сменам

1. Подготовка базовой таблицы графика смен

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

  • 📌 Дата (формат ДД.ММ.ГГГГ)
  • 👤 ФИО сотрудника или табельный номер
  • 🔄 Тип смены (например, "Д" — дневная, "Н" — ночная, "В" — выходной)
  • Время начала/окончания смены (опционально, если нужен учёт переработок)

Пример структуры:

Дата ФИО Тип смены Начало Окончание
01.06.2026 Иванов И.И. Д 08:00 20:00
02.06.2026 Иванов И.И. Н 20:00 08:00
03.06.2026 Иванов И.И. В

Ключевые правила оформления:

  1. Дата должна быть в формате Дата (не текст!). Проверить можно, кликнув по ячейке: в строке формул должно отображаться число (например, 45450 для 01.06.2026).
  2. Типы смен лучше обозначать одной буквой или цифрой — так проще использовать в формулах.
  3. Если в графике есть праздники или больничные, добавьте отдельную колонку Примечание.
⚠️ Внимание: Если в вашей таблице даты введены как текст (например, "01.06.2026" в кавычках), формулы СЧЁТЕСЛИ и СУММЕСЛИ не будут работать. Исправьте формат через Формат ячеек → Дата.

2. Простой подсчёт смен с помощью функции СЧЁТЕСЛИ

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

Формула для подсчёта смен одного типа у конкретного сотрудника:

=СЧЁТЕСЛИ($C$2:$C$100; "Д"; $B$2:$B$100; "Иванов И.И.")

Где:

  • $C$2:$C$100 — диапазон с типами смен
  • "Д" — искомый тип смены (дневная)
  • $B$2:$B$100 — диапазон с ФИО сотрудников
  • "Иванов И.И." — фамилия сотрудника

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

=СЧЁТЕСЛИ($B$2:$B$100; "Иванов И.И.")

Пример расчёта за июнь 2026 года:

ФИО Дневные смены Ночные смены Всего смен
Иванов И.И. =СЧЁТЕСЛИ($C$2:$C$31; "Д"; $B$2:$B$31; B2) =СЧЁТЕСЛИ($C$2:$C$31; "Н"; $B$2:$B$31; B2) =СУММ(C2:D2)
⚠️ Внимание: Если в графике есть праздничные дни, их нужно исключать из подсчёта. Для этого добавьте дополнительную колонку с пометкой "П" (праздник) и используйте функцию СЧЁТЕСЛИМН (см. следующий раздел).

1. Проверить формат дат (должен быть "Дата", не текст)

2. Убедиться, что типы смен введены одинаково (например, "Д", а не "д" или "Дневная")

3. Зафиксировать диапазоны в формуле знаками $

4. Проверить, что диапазоны ФИО и типов смен совпадают по размеру-->

3. Учёт праздников и больничных: СЧЁТЕСЛИМН и ЕСЛИ

Если в графике есть праздничные дни, больничные или отпуска, простого СЧЁТЕСЛИ недостаточно. Здесь поможет комбинация функций СЧЁТЕСЛИМН (для нескольких условий) и ЕСЛИ (для исключения дней).

Пример 1. Исключаем праздники из подсчёта смен:

=СЧЁТЕСЛИМН($B$2:$B$31; B2; $C$2:$C$31; "<>П"; $D$2:$D$31; "<>В")

Где:

  • $B$2:$B$31 — диапазон с ФИО
  • B2 — ячейка с ФИО текущего сотрудника
  • $C$2:$C$31 — диапазон с типами смен
  • "<>П" — условие "не равно П" (праздник)
  • $D$2:$D$31 — диапазон с примечаниями (например, "Б" — больничный)

Пример 2. Учитываем ночные смены с повышенным коэффициентом:

=СУММПРОИЗВ(--($B$2:$B$31=B2); --($C$2:$C$31="Н"); 1,5)

Эта формула посчитает ночные смены и умножит их на 1.5 (например, для оплаты по повышенному тарифу).

Как добавить праздничные дни автоматически?

В Excel 2013+ можно использовать функцию РАБДЕНЬ.МЕЖД для исключения выходных и праздников. Например, чтобы посчитать только рабочие дни в июне 2026:

=РАБДЕНЬ.МЕЖД("01.06.2026"; "30.06.2026"; [праздники])

Где [праздники] — диапазон с датами праздников (например, A2:A5).

Список праздничных дней в России на 2026 год

1, 2, 3, 4, 5, 6, 8 января — Новогодние каникулы;

7 января — Рождество Христово;

23 февраля — День защитника Отечества;

8 марта — Международный женский день;

1 мая — Праздник Весны и Труда;

9 мая — День Победы;

12 июня — День России;

4 ноября — День народного единства.

4. Расчёт смен для сложных графиков (сутки через трое, 2/2)

Если у вас ротационный график (например, "сутки через трое" или "2 через 2"), простые функции не подойдут — нужно учитывать цикличность. Здесь поможет комбинация ЕСЛИ, ОСТАТ и вспомогательных колонок.

Алгоритм для графика "сутки через трое":

  1. Создайте колонку День цикла с формулой:
    =ОСТАТ(СЧЁТЗ($A$2:A2); 4)

    Она будет возвращать 1 (первый день цикла — смена), 2, 3, 0 (выходные).

  2. В колонке Тип смены используйте:
    =ЕСЛИ(D2=1; "С"; "В")

    где D2 — ячейка с днём цикла.

  3. Подсчитайте смены с помощью СЧЁТЕСЛИ по колонке Тип смены.

Пример для графика "2 через 2":

=ОСТАТ(СЧЁТЗ($A$2:A2); 4)

Здесь цикл из 4 дней: 2 рабочих (1 и 2) и 2 выходных (3 и 0).

Автоматизация для большого количества сотрудников:

  • 📋 Создайте отдельный лист с шаблоном графика для одного сотрудника.
  • 🔄 Используйте ВПР или ИНДЕКС/ПОИСКПОЗ, чтобы растянуть график на всех сотрудников.
  • 📈 Для визуализации применяйте условное форматирование (например, красный цвет для смен, зелёный — для выходных).

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

Чтобы график смен был наглядным, используйте условное форматирование и сводные таблицы. Это поможет быстро оценить нагрузку, найти ошибки и презентовать данные руководству.

Шаг 1. Условное форматирование:

  1. Выделите диапазон с типами смен (например, C2:C31).
  2. Перейдите в Главная → Условное форматирование → Создать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. Установите условие: Значение ячейки равно = "Д" и задайте зелёный цвет.
  5. Повторите для ночных смен ("Н" — синий) и выходных ("В" — серый).

Шаг 2. Сводная таблица для анализа:

  1. Выделите весь диапазон с данными (включая заголовки).
  2. Перейдите в Вставка → Сводная таблица.
  3. В поле Строки перетащите ФИО.
  4. В поле Значения перетащите Тип смены и настройте Подсчёт.
  5. Добавьте фильтр по Дата, чтобы анализировать данные за конкретный месяц.

Пример сводной таблицы:

ФИО Дневные Ночные Выходные Всего
Иванов И.И. 10 5 15 30
Петров П.П. 8 7 15 30

Дополнительные возможности:

  • 📅 Добавьте срезы (Вставка → Срез), чтобы быстро фильтровать данные по месяцам или типам смен.
  • 📊 Постройте гистограмму на основе сводной таблицы для визуального сравнения нагрузки между сотрудниками.
  • 🔍 Используйте условное форматирование с формулами, чтобы выделять сотрудников с переработками (например, если смен больше 20 в месяц).

6. Автоматизация с помощью Power Query (для продвинутых пользователей)

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

Пример: импорт графика из CSV и автоматический расчёт смен

  1. Перейдите в Данные → Получить данные → Из файла → Из текстового/CSV.
  2. Выберите файл с графиком (например, экспортированный из 1С или другой программы).
  3. В редакторе Power Query:
    • Удалите ненужные колонки (Главная → Выбрать столбцы).
    • Преобразуйте даты в формат Дата (Преобразовать → Тип данных → Дата).
    • Добавьте пользовательский столбец для подсчёта смен:
      = if [Тип смены] = "Д" then 1 else 0
  • Нажмите Главная → Закрыть и загрузить, чтобы импортировать данные в Excel.
  • Используйте СУММ или СВОДНАЯ ТАБЛИЦА для финального расчёта.
  • Преимущества Power Query:

    • 🔄 Автоматическое обновление при изменении исходного файла.
    • 🧹 Очистка данных (удаление пустых строк, исправление форматов).
    • 📎 Объединение нескольких файлов (например, графиков разных отделов).

    Power Query сохраняет все шаги преобразования, поэтому при следующем импорте вам не придётся настраивать всё заново — достаточно обновить запрос.

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

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

    1. Дата в формате текста

      Признак: Формулы СЧЁТЕСЛИ не работают, хотя данные выглядят корректно.

      Решение: Выделите колонку с датами → Формат ячеек → Дата. Если не помогает, используйте функцию ДАТАЗНАЧ:

      =ДАТАЗНАЧ(A2)

    2. Несовпадение диапазонов в формулах

      Признак: Формула возвращает #ЗНАЧ! или неверный результат.

      Решение: Проверьте, что диапазоны в СЧЁТЕСЛИМН одинакового размера. Например, если $B$2:$B$31 (ФИО) содержит 30 строк, то $C$2:$C$31 (типы смен) тоже должен содержать 30 строк.

    3. Пропущенные праздники

      Признак: В расчёте учитываются праздничные дни как рабочие.

      Решение: Добавьте колонку Праздник с формулой:

      =ЕСЛИ(ИЛИ(A2=ДАТА(2026;1;1); A2=ДАТА(2026;5;9)); "П"; "")

    4. Ошибки в ротационных графиках

      Признак: Смены считаются не по циклу (например, вместо "сутки через трое" получается хаотичный график).

      Решение: Проверьте формулу ОСТАТ — она должна учитывать полный цикл. Например, для графика "2/2" используйте ОСТАТ(...; 4), а не ОСТАТ(...; 2).

    5. Неучтённые ночные смены

      Признак: Ночные смены не суммируются или суммируются как дневные.

      Решение: Используйте СУММЕСЛИ с дополнительным условием:

      =СУММЕСЛИМН($C$2:$C$31; $B$2:$B$31; B2; $C$2:$C$31; "Н") * 1,5

    ⚠️ Внимание: Если вы используете Google Таблицы, замените точку с запятой (;) в формулах на запятую (,). Например, =СЧЁТЕСЛИ(C2:C31, "Д") вместо =СЧЁТЕСЛИ(C2:C31; "Д").

    FAQ: Частые вопросы по расчёту смен в Excel

    Как посчитать смены, если график меняется еженедельно?

    Используйте вспомогательную колонку с номером недели:

    =НОМНЕДЕЛИ(A2; 2)

    где A2 — ячейка с датой, а 2 — параметр, обозначающий, что неделя начинается с понедельника. Затем применяйте СЧЁТЕСЛИМН с условием по номеру недели и типу смены.

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

    Да, для этого:

    1. Создайте отдельный лист с перечнем праздников (столбец A — даты).
    2. В основной таблице добавьте колонку Праздник с формулой:
      =ЕСЛИ(СЧЁТЕСЛИ(Праздники!A:A; A2); "П"; "")
    3. Исключите праздники из подсчёта смен с помощью СЧЁТЕСЛИМН.
    Как посчитать переработки (если смена длится больше 8 часов)?

    Добавьте колонку Переработка с формулой:

    =ЕСЛИ(И($C2="Д"; (D2-C2)*24>8); (D2-C2)*24-8; 0)

    где C2 — начало смены, D2 — конец смены. Формула вернёт количество часов переработки.

    Как экспортировать график смен в Word или PDF?

    В Excel:

    1. Выделите диапазон с графиком.
    2. Нажмите Файл → Экспорт → Создать PDF/XPS.
    3. Выберите область Выделенный фрагмент и сохраните.

    Для Google Таблиц используйте Файл → Скачать → PDF.

    Можно ли сделать так, чтобы график автоматически обновлялся из 1С?

    Да, с помощью Power Query:

    1. В 1С экспортируйте график в CSV или Excel.
    2. В Excel перейдите в Данные → Получить данные → Из файла и импортируйте файл.
    3. В Power Query настройте преобразования (например, разделите ФИО на отдельные колонки).
    4. Сохраните запрос и настройте Обновить все при открытии файла.

    Для полной автоматизации можно использовать VBA-макрос или Python-скрипт.