Подсчёт смен в Microsoft Excel — одна из самых востребованных задач для HR-специалистов, менеджеров производств и логистов. Вы можете тратить часы на ручной пересчёт графиков в табелях учета рабочего времени или автоматизировать процесс с помощью формул, сводных таблиц и даже Power Query. Но как выбрать оптимальный метод среди десятков вариантов?
В этой статье мы разберём 5 проверенных способов — от элементарных функций СЧЁТЕСЛИ до сложных сценариев с учетом ночных смен, выходных и переработок. Вы узнаете, как избежать типичных ошибок (например, двойного учёта смен при пересечении дат), как визуализировать данные на графиках и даже как импортировать данные из систем учёта времени типа 1С или Bitrix24. А в конце — бонус: готовый шаблон Excel для расчёта смен с формулами.
Если вы работаете с большими массивами данных (например, табелями на 500+ сотрудников), то ручной подсчёт превращается в кошмар. Excel позволяет автоматизировать 90% операций, но только при правильном подходе. Мы покажем, как сделать это быстро, точно и с учётом всех нюансов вашего графика работы.
1. Базовый метод: функция СЧЁТЕСЛИ для простых графиков
Начнём с самого простого — подсчёта смен по фиксированному признаку. Предположим, у вас есть таблица с графами «Дата», «Сотрудник» и «Тип смены» (например, «День», «Ночь», «Выходной»). Ваша задача — посчитать, сколько смен каждого типа было за месяц.
Для этого идеально подходит функция СЧЁТЕСЛИ (или COUNTIF в английской версии). Её синтаксис:
=СЧЁТЕСЛИ(диапазон; критерий)
Где:
- диапазон — столбец с типами смен (например, C2:C100),
- критерий — название смены в кавычках (например, "День").
Пример:
Если в ячейке C2:C100 перечислены смены, то формула для подсчёта дневных смен будет:
=СЧЁТЕСЛИ(C2:C100; "День")
- ✅ Плюсы метода: простота, не требует дополнительных знаний.
- ❌ Минусы: не учитывает пересечение дат (например, ночная смена с 22:00 до 6:00), не подходит для динамических графиков.
Критическая ошибка новичков: если в критерии указать "день" (с маленькой буквы), а в таблице написано "День" — Excel вернёт ноль. Регистр имеет значение!
2. Учёт ночных смен и пересечения дат
Самая распространённая проблема при подсчёте смен — ночные смены, которые начинаются в один день, а заканчиваются в другой. Например, смена с 20:00 15 мая до 08:00 16 мая. Если просто использовать СЧЁТЕСЛИ, вы либо потеряете данные, либо посчитаете их дважды.
Решение — разбивать смену на две части и учитывать каждую отдельно. Допустим, у вас есть столбцы:
- A — дата начала смены,
- B — время начала,
- C — время окончания.
Тогда формула для подсчёта смен за конкретную дату (например, 15 мая) будет такой:
=СЧЁТЕСЛИМНЖ(A2:A100; "15.05.2026"; B2:B100; ">="&ВРЕМЯ(0;0;0)) -
СЧЁТЕСЛИМНЖ(A2:A100; "15.05.2026"; C2:C100; "<"&ВРЕМЯ(0;0;0))
Эта формула учитывает смены, которые:
1. Начались 15 мая (включительно).
2. Не закончились до 00:00 15 мая (исключаем смены, которые относятся к предыдущему дню).
⚠️ Внимание: Если в вашей таблице время хранится в формате текста (например, "20:00" вместо времени Excel), преобразуйте его в числовой формат с помощьюВРЕМЯ(ЧАС;МИН;СЕК)или--ТЕКСТ(A1;"ч:мм").
| Дата начала | Время начала | Время окончания | Тип смены | Формула подсчёта |
|---|---|---|---|---|
| 15.05.2026 | 20:00 | 08:00 | Ночь | =СЧЁТЕСЛИМНЖ(A2:A5; "15.05.2026"; B2:B5; ">="&ВРЕМЯ(0;0;0)) |
| 16.05.2026 | 08:00 | 20:00 | День | =СЧЁТЕСЛИМНЖ(A2:A5; "16.05.2026"; C2:C5; ">="&ВРЕМЯ(0;0;0)) |
3. Подсчёт смен по сотрудникам с помощью СЧЁТЕСЛИМН
Если вам нужно посчитать смены конкретного сотрудника за период, используйте функцию СЧЁТЕСЛИМН (или COUNTIFS). Она позволяет задавать несколько критериев одновременно.
Допустим, у вас есть таблица с колонками:
- A — дата,
- B — сотрудник,
- C — тип смены.
Чтобы посчитать, сколько ночных смен отработал Иванов И.И. в мае 2026, используйте:
=СЧЁТЕСЛИМНЖ(A2:A100; ">="&ДАТА(2026;5;1);
A2:A100; "<="&ДАТА(2026;5;31);
B2:B100; "Иванов И.И.";
C2:C100; "Ночь")
- 📅 Дата начала периода:
ДАТА(2026;5;1)— 1 мая 2026. - 📅 Дата конца периода:
ДАТА(2026;5;31)— 31 мая 2026. - 👤 Критерий сотрудника: точное совпадение с ФИО.
- 🌙 Критерий смены: только "Ночь".
Если у вас большая база (1000+ строк), СЧЁТЕСЛИМН может тормозить. В этом случае лучше использовать сводные таблицы (см. следующий раздел) или Power Query.
Убедитесь, что даты в формате Excel (не текст)|Проверьте регистр в названиях смен|Исключите пустые ячейки в диапазоне|Используйте абсолютные ссылки ($A$2:$A$100) для копирования формул-->
4. Сводные таблицы: быстрый анализ без формул
Если вам нужно не только посчитать смены, но и проанализировать их распределение по дням недели, сотрудникам или типам, сводные таблицы — лучший выбор. Они позволяют:
- Группировать данные по датам, сотрудникам, типам смен.
- Сразу видеть итоги по строкам и столбцам.
- Фильтровать данные без изменения исходной таблицы.
Пошаговая инструкция:
- Выделите исходную таблицу (включая заголовки).
- Перейдите на вкладку
Вставка→Сводная таблица. - В открывшемся окне укажите диапазон данных (или оставьте автовыбор).
- Перенесите поле «Тип смены» в область
Строки. - Перенесите поле «Дата» в область
Столбцы(при необходимости сгруппируйте по месяцам). - Перенесите поле «Сотрудник» в область
Фильтры. - В область
Значениядобавьте любое поле (например, «Тип смены») и выберите операциюКоличество.
Результат — динамическая таблица, где вы можете:
- Видеть, сколько смен каждого типа было по дням.
- Фильтровать данные по конкретному сотруднику.
- Мгновенно обновлять результаты при изменении исходных данных.
⚠️ Внимание: Если в сводной таблице появляются ошибки типа #ЗНАЧ!, проверьте исходные данные на пустые ячейки или несоответствие форматов (например, текст вместо даты).
Как сгруппировать даты по неделям или месяцам?
В сводной таблице кликните правой кнопкой по любой дате в области строк или столбцов → Группировать → выберите Дни, Месяцы или Годы. Для нестандартных периодов (например, рабочие недели с понедельника по воскресенье) используйте столбец с номером недели, рассчитанный через =НОМНЕДЕЛИ(A2).
5. Power Query: автоматизация для больших данных
Если вы работаете с данными из 1С, Bitrix24 или других систем, где смены экспортируются в Excel в сыром виде, Power Query (или Get & Transform в новых версиях Excel) станет вашим спасением. Этот инструмент позволяет:
- Импортировать данные из внешних источников (CSV, SQL, API).
- Преобразовывать их (разделять столбцы, изменять форматы, фильтровать).
- Автоматически обновлять отчёты при изменении исходников.
Пример сценария:
У вас есть файл с сырыми данными, где смены записаны в формате:
Иванов И.И.;15.05.2026 20:00-16.05.2026 08:00;Ночь
Чтобы привести это к удобному виду:
- Перейдите на вкладку
Данные→Получить данные→Из файла→Из книги Excel. - Выберите ваш файл и лист с данными.
- В редакторе Power Query разделите столбец со временем на два отдельных столбца (начало и конец смены) с помощью
Разделить столбец→По разделителю(символ"-"). - Добавьте пользовательский столбец для расчёта длительности смены:
= Duration.From([Конец] - [Начало]) - Сгруппируйте данные по сотрудникам и типам смен с операцией
Count. - Загрузите результат в Excel или в модель данных.
Главное преимущество Power Query — повторяемость. Однажды настроенный запрос можно обновлять одним кликом, даже если исходные данные полностью поменялись.
6. Визуализация: графики и условное форматирование
Цифры в таблице — это хорошо, но визуализация помогает быстрее анализировать данные. Например, вы можете:
- Построить гистограмму распределения смен по дням недели.
- Использовать тепловую карту (условное форматирование) для выделения переработок.
- Создать календарь смен с цветовой маркировкой.
Пример 1: Гистограмма смен по дням недели
- Добавьте столбец с номером дня недели:
=ДЕНЬНЕД(A2)(гдеA2— ячейка с датой). - Постройте сводную таблицу, где строки — дни недели (1–7), а значения — количество смен.
- На основе сводной таблицы создайте
гистограмму(вкладкаВставка→Гистограмма).
Пример 2: Условное форматирование для переработок
Если у вас есть норматив (например, не более 5 ночных смен в месяц), выделите ячейки, где это правило нарушается:
- Выделите диапазон с количеством смен.
- Перейдите на вкладку
Главная→Условное форматирование→Создать правило. - Выберите
Форматировать только ячейки, которые содержат. - Укажите условие:
Значение > 5. - Задайте красный цвет заливки.
| Тип визуализации | Когда использовать | Пример формулы/настройки |
|---|---|---|
| Гистограмма | Анализ распределения смен по дням/неделям | =ДЕНЬНЕД(A2) для группировки |
| Тепловая карта | Выделение переработок или дефицита смен | Условное форматирование: Значение > 5 → красный |
| Календарь | Визуализация графика на месяц | Сводная таблица с группировкой по датам |
7. Продвинутые сценарии: учёт переработок и выходных
Если ваш график включает переработки, выходные или праздничные дни, стандартные методы могут не сработать. Рассмотрим два сложных случая:
Сценарий 1: Подсчёт переработок
Допустим, нормальная смена — 8 часов, а всё, что сверх — переработка. Чтобы посчитать часы переработок:
- Добавьте столбец с длительностью смены в часах:
=ЕСЛИ(C2=""; ""; (C2-B2)*24)где
B2— время начала,C2— время окончания. - Добавьте столбец с переработками:
=ЕСЛИ(D2>8; D2-8; 0)где
D2— длительность смены. - Используйте
СУММЕСЛИдля подсчёта общих переработок по сотруднику.
Сценарий 2: Исключение выходных и праздников
Чтобы не учитывать смены в выходные (например, субботу и воскресенье):
- Добавьте столбец с проверкой дня недели:
=ИЛИ(ДЕНЬНЕД(A2)=7; ДЕНЬНЕД(A2)=1)(где 7 — суббота, 1 — воскресенье).
- Модифицируйте формулу подсчёта:
=СЧЁТЕСЛИМНЖ(A2:A100; ">="&ДАТА(2026;5;1);A2:A100; "<="&ДАТА(2026;5;31);
E2:E100; ЛОЖЬ)
где
E2:E100— столбец с проверкой выходных.
Для учёта праздников создайте отдельную таблицу с датами праздников и используйте СЧЁТЕСЛИМНЖ с дополнительным условием исключения этих дат.
FAQ: Частые вопросы о подсчёте смен в Excel
Как посчитать смены, если данные в формате "15.05.2026 День"?
Используйте функцию ПСТР или ТЕКСТПОСЛЕ (в новых версиях Excel), чтобы отделить дату от типа смены. Например:
=ПСТР(A2;1;10) // извлекает дату (первые 10 символов)
=ПСТР(A2;12;99) // извлекает тип смены (всё после 11-го символа)
Затем применяйте СЧЁТЕСЛИМН к разделённым данным.
Можно ли автоматически подсчитывать смены при импорте данных из 1С?
Да, с помощью Power Query. Настройте запрос на импорт данных из 1С (например, через ODBC или экспорт в CSV), затем преобразуйте данные в Power Query:
- Разделите составные поля (например, ФИО + дата + смена).
- Добавьте столбцы для расчёта длительности смен.
- Сгруппируйте данные по сотрудникам и типам смен.
После настройки запрос будет обновляться автоматически при изменении данных в 1С.
Как посчитать количество смен между двумя датами?
Используйте СЧЁТЕСЛИМНЖ с двумя условиями по датам:
=СЧЁТЕСЛИМНЖ(A2:A100; ">="&ДАТА(2026;5;1);
A2:A100; "<="&ДАТА(2026;5;15);
C2:C100; "День")
Эта формула посчитает дневные смены с 1 по 15 мая 2026.
Почему СЧЁТЕСЛИ возвращает 0, хотя данные есть?
Чаще всего это происходит из-за:
- Несовпадения регистра (например, "день" vs "День").
- Наличия пробелов или непечатаемых символов (используйте
=ПЕЧСИМВ(C2)для очистки). - Неправильного формата данных (например, дата хранится как текст).
Проверьте данные с помощью функции =ТИП(C2) — она вернёт 1 для текста, 2 для чисел, 4 для логических значений.
Как визуализировать график смен на месяц?
Создайте сводную таблицу с группировкой по датам и типам смен, затем:
- Выделите сводную таблицу.
- Перейдите на вкладку
Вставка→Календарь(в Excel 2021+) или используйтеУсловное форматирование→Набор значковдля цветовой маркировки. - Для детального анализа постройте
линию трендапо количеству смен в день.
Альтернатива: используйте Power BI для создания интерактивных дашбордов.