Расчёт количества смен в месяц — одна из самых частых задач для HR-специалистов, бухгалтеров и руководителей сменных бригад. Без точных данных невозможно правильно начислить зарплату, спланировать нагрузку или соблюсти требования Трудового кодекса. Вручную считать смены — долгий и чреват ошибками процесс, особенно если график меняется ежемесячно или в команде десятки сотрудников.
К счастью, Excel позволяет автоматизировать этот процесс с помощью формул, условного форматирования и сводных таблиц. Но даже здесь есть подводные камни: неправильно составленная формула может завысить или занизить количество смен, а ошибка в диапазоне дат приведёт к искажению отчётности. В этой статье разберём 3 проверенных метода расчёта смен в месяц — от простого подсчёта до сложных графиков с учётом выходных, праздников и ночных смен.
Вы узнаете, как:
- 📅 Создать базовую таблицу графика смен в Excel
- ⚙️ Использовать формулы
СЧЁТЕСЛИ,СУММЕСЛИиЕСЛИдля разных типов графиков - 📊 Автоматизировать расчёт смен с учётом праздников и больничных
- 📈 Построить визуализацию графика для наглядного анализа
Все примеры адаптированы под актуальные версии Excel 2019–2023 и Excel Online, а также совместимы с Google Таблицами. Если вы работаете со сменным графиком 2/2, сутки через трое или ротацией по неделям — здесь найдёте готовые решения.
1. Подготовка базовой таблицы графика смен
Прежде чем считать смены, нужно правильно организовать данные. Ошибка на этом этапе приведёт к некорректным расчётам, даже если формулы верные. Вот минимальный набор колонок, который должен быть в таблице:
- 📌 Дата (формат
ДД.ММ.ГГГГ) - 👤 ФИО сотрудника или табельный номер
- 🔄 Тип смены (например, "Д" — дневная, "Н" — ночная, "В" — выходной)
- ⏰ Время начала/окончания смены (опционально, если нужен учёт переработок)
Пример структуры:
| Дата | ФИО | Тип смены | Начало | Окончание |
|---|---|---|---|---|
| 01.06.2026 | Иванов И.И. | Д | 08:00 | 20:00 |
| 02.06.2026 | Иванов И.И. | Н | 20:00 | 08:00 |
| 03.06.2026 | Иванов И.И. | В | — | — |
Ключевые правила оформления:
- Дата должна быть в формате
Дата(не текст!). Проверить можно, кликнув по ячейке: в строке формул должно отображаться число (например,45450для 01.06.2026). - Типы смен лучше обозначать одной буквой или цифрой — так проще использовать в формулах.
- Если в графике есть праздники или больничные, добавьте отдельную колонку
Примечание.
⚠️ Внимание: Если в вашей таблице даты введены как текст (например,"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"), простые функции не подойдут — нужно учитывать цикличность. Здесь поможет комбинация ЕСЛИ, ОСТАТ и вспомогательных колонок.
Алгоритм для графика "сутки через трое":
- Создайте колонку
День циклас формулой:=ОСТАТ(СЧЁТЗ($A$2:A2); 4)Она будет возвращать
1(первый день цикла — смена),2, 3, 0(выходные). - В колонке
Тип сменыиспользуйте:=ЕСЛИ(D2=1; "С"; "В")где
D2— ячейка с днём цикла. - Подсчитайте смены с помощью
СЧЁТЕСЛИпо колонкеТип смены.
Пример для графика "2 через 2":
=ОСТАТ(СЧЁТЗ($A$2:A2); 4)
Здесь цикл из 4 дней: 2 рабочих (1 и 2) и 2 выходных (3 и 0).
Автоматизация для большого количества сотрудников:
- 📋 Создайте отдельный лист с шаблоном графика для одного сотрудника.
- 🔄 Используйте
ВПРилиИНДЕКС/ПОИСКПОЗ, чтобы растянуть график на всех сотрудников. - 📈 Для визуализации применяйте условное форматирование (например, красный цвет для смен, зелёный — для выходных).
5. Визуализация графика: условное форматирование и сводные таблицы
Чтобы график смен был наглядным, используйте условное форматирование и сводные таблицы. Это поможет быстро оценить нагрузку, найти ошибки и презентовать данные руководству.
Шаг 1. Условное форматирование:
- Выделите диапазон с типами смен (например,
C2:C31). - Перейдите в
Главная → Условное форматирование → Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Установите условие:
Значение ячейки равно = "Д"и задайте зелёный цвет. - Повторите для ночных смен (
"Н"— синий) и выходных ("В"— серый).
Шаг 2. Сводная таблица для анализа:
- Выделите весь диапазон с данными (включая заголовки).
- Перейдите в
Вставка → Сводная таблица. - В поле
СтрокиперетащитеФИО. - В поле
ЗначенияперетащитеТип сменыи настройтеПодсчёт. - Добавьте фильтр по
Дата, чтобы анализировать данные за конкретный месяц.
Пример сводной таблицы:
| ФИО | Дневные | Ночные | Выходные | Всего |
|---|---|---|---|---|
| Иванов И.И. | 10 | 5 | 15 | 30 |
| Петров П.П. | 8 | 7 | 15 | 30 |
Дополнительные возможности:
- 📅 Добавьте срезы (
Вставка → Срез), чтобы быстро фильтровать данные по месяцам или типам смен. - 📊 Постройте гистограмму на основе сводной таблицы для визуального сравнения нагрузки между сотрудниками.
- 🔍 Используйте условное форматирование с формулами, чтобы выделять сотрудников с переработками (например, если смен больше 20 в месяц).
6. Автоматизация с помощью Power Query (для продвинутых пользователей)
Если у вас сотни сотрудников или графики меняются ежемесячно, ручной ввод данных отнимет слишком много времени. Power Query (вкладка Данные → Получить данные) позволяет автоматизировать импорт и преобразование графиков.
Пример: импорт графика из CSV и автоматический расчёт смен
- Перейдите в
Данные → Получить данные → Из файла → Из текстового/CSV. - Выберите файл с графиком (например, экспортированный из 1С или другой программы).
- В редакторе Power Query:
- Удалите ненужные колонки (
Главная → Выбрать столбцы). - Преобразуйте даты в формат
Дата(Преобразовать → Тип данных → Дата). - Добавьте пользовательский столбец для подсчёта смен:
= if [Тип смены] = "Д" then 1 else 0
Главная → Закрыть и загрузить, чтобы импортировать данные в Excel.СУММ или СВОДНАЯ ТАБЛИЦА для финального расчёта.Преимущества Power Query:
- 🔄 Автоматическое обновление при изменении исходного файла.
- 🧹 Очистка данных (удаление пустых строк, исправление форматов).
- 📎 Объединение нескольких файлов (например, графиков разных отделов).
Power Query сохраняет все шаги преобразования, поэтому при следующем импорте вам не придётся настраивать всё заново — достаточно обновить запрос.
7. Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при расчёте смен. Вот 5 самых распространённых проблем и способы их решения:
- Дата в формате текста
Признак: Формулы
СЧЁТЕСЛИне работают, хотя данные выглядят корректно.Решение: Выделите колонку с датами →
Формат ячеек → Дата. Если не помогает, используйте функциюДАТАЗНАЧ:=ДАТАЗНАЧ(A2) - Несовпадение диапазонов в формулах
Признак: Формула возвращает
#ЗНАЧ!или неверный результат.Решение: Проверьте, что диапазоны в
СЧЁТЕСЛИМНодинакового размера. Например, если$B$2:$B$31(ФИО) содержит 30 строк, то$C$2:$C$31(типы смен) тоже должен содержать 30 строк. - Пропущенные праздники
Признак: В расчёте учитываются праздничные дни как рабочие.
Решение: Добавьте колонку
Праздникс формулой:=ЕСЛИ(ИЛИ(A2=ДАТА(2026;1;1); A2=ДАТА(2026;5;9)); "П"; "") - Ошибки в ротационных графиках
Признак: Смены считаются не по циклу (например, вместо "сутки через трое" получается хаотичный график).
Решение: Проверьте формулу
ОСТАТ— она должна учитывать полный цикл. Например, для графика "2/2" используйтеОСТАТ(...; 4), а неОСТАТ(...; 2). - Неучтённые ночные смены
Признак: Ночные смены не суммируются или суммируются как дневные.
Решение: Используйте
СУММЕСЛИс дополнительным условием:=СУММЕСЛИМН($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 — параметр, обозначающий, что неделя начинается с понедельника. Затем применяйте СЧЁТЕСЛИМН с условием по номеру недели и типу смены.
Можно ли автоматически учитывать праздничные дни?
Да, для этого:
- Создайте отдельный лист с перечнем праздников (столбец
A— даты). - В основной таблице добавьте колонку
Праздникс формулой:=ЕСЛИ(СЧЁТЕСЛИ(Праздники!A:A; A2); "П"; "") - Исключите праздники из подсчёта смен с помощью
СЧЁТЕСЛИМН.
Как посчитать переработки (если смена длится больше 8 часов)?
Добавьте колонку Переработка с формулой:
=ЕСЛИ(И($C2="Д"; (D2-C2)*24>8); (D2-C2)*24-8; 0)
где C2 — начало смены, D2 — конец смены. Формула вернёт количество часов переработки.
Как экспортировать график смен в Word или PDF?
В Excel:
- Выделите диапазон с графиком.
- Нажмите
Файл → Экспорт → Создать PDF/XPS. - Выберите область
Выделенный фрагменти сохраните.
Для Google Таблиц используйте Файл → Скачать → PDF.
Можно ли сделать так, чтобы график автоматически обновлялся из 1С?
Да, с помощью Power Query:
- В 1С экспортируйте график в
CSVилиExcel. - В Excel перейдите в
Данные → Получить данные → Из файлаи импортируйте файл. - В Power Query настройте преобразования (например, разделите ФИО на отдельные колонки).
- Сохраните запрос и настройте
Обновить всепри открытии файла.
Для полной автоматизации можно использовать VBA-макрос или Python-скрипт.