Как посчитать количество смен в Excel: от простых формул до автоматизации

Подсчёт смен в Microsoft Excel — одна из самых востребованных задач для HR-специалистов, менеджеров производств и логистов. Вы можете тратить часы на ручной пересчёт графиков в табелях учета рабочего времени или автоматизировать процесс с помощью формул, сводных таблиц и даже Power Query. Но как выбрать оптимальный метод среди десятков вариантов?

В этой статье мы разберём 5 проверенных способов — от элементарных функций СЧЁТЕСЛИ до сложных сценариев с учетом ночных смен, выходных и переработок. Вы узнаете, как избежать типичных ошибок (например, двойного учёта смен при пересечении дат), как визуализировать данные на графиках и даже как импортировать данные из систем учёта времени типа или Bitrix24. А в конце — бонус: готовый шаблон Excel для расчёта смен с формулами.

Если вы работаете с большими массивами данных (например, табелями на 500+ сотрудников), то ручной подсчёт превращается в кошмар. Excel позволяет автоматизировать 90% операций, но только при правильном подходе. Мы покажем, как сделать это быстро, точно и с учётом всех нюансов вашего графика работы.

1. Базовый метод: функция СЧЁТЕСЛИ для простых графиков

Начнём с самого простого — подсчёта смен по фиксированному признаку. Предположим, у вас есть таблица с графами «Дата», «Сотрудник» и «Тип смены» (например, «День», «Ночь», «Выходной»). Ваша задача — посчитать, сколько смен каждого типа было за месяц.

Для этого идеально подходит функция СЧЁТЕСЛИ (или COUNTIF в английской версии). Её синтаксис:

=СЧЁТЕСЛИ(диапазон; критерий)

Где:

- диапазон — столбец с типами смен (например, C2:C100),

- критерий — название смены в кавычках (например, "День").

Пример:

Если в ячейке C2:C100 перечислены смены, то формула для подсчёта дневных смен будет:

=СЧЁТЕСЛИ(C2:C100; "День")
  • Плюсы метода: простота, не требует дополнительных знаний.
  • Минусы: не учитывает пересечение дат (например, ночная смена с 22:00 до 6:00), не подходит для динамических графиков.

Критическая ошибка новичков: если в критерии указать "день" (с маленькой буквы), а в таблице написано "День" — Excel вернёт ноль. Регистр имеет значение!

📊 Какой тип смен вам чаще всего нужно считать?
Дневные
Ночные
Сутки (24/7)
Смены с переработками
Другой

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. Сводные таблицы: быстрый анализ без формул

Если вам нужно не только посчитать смены, но и проанализировать их распределение по дням недели, сотрудникам или типам, сводные таблицы — лучший выбор. Они позволяют:

- Группировать данные по датам, сотрудникам, типам смен.

- Сразу видеть итоги по строкам и столбцам.

- Фильтровать данные без изменения исходной таблицы.

Пошаговая инструкция:

  1. Выделите исходную таблицу (включая заголовки).
  2. Перейдите на вкладку ВставкаСводная таблица.
  3. В открывшемся окне укажите диапазон данных (или оставьте автовыбор).
  4. Перенесите поле «Тип смены» в область Строки.
  5. Перенесите поле «Дата» в область Столбцы (при необходимости сгруппируйте по месяцам).
  6. Перенесите поле «Сотрудник» в область Фильтры.
  7. В область Значения добавьте любое поле (например, «Тип смены») и выберите операцию Количество.

Результат — динамическая таблица, где вы можете:

- Видеть, сколько смен каждого типа было по дням.

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

- Мгновенно обновлять результаты при изменении исходных данных.

⚠️ Внимание: Если в сводной таблице появляются ошибки типа #ЗНАЧ!, проверьте исходные данные на пустые ячейки или несоответствие форматов (например, текст вместо даты).
Как сгруппировать даты по неделям или месяцам?

В сводной таблице кликните правой кнопкой по любой дате в области строк или столбцов → Группировать → выберите Дни, Месяцы или Годы. Для нестандартных периодов (например, рабочие недели с понедельника по воскресенье) используйте столбец с номером недели, рассчитанный через =НОМНЕДЕЛИ(A2).

5. Power Query: автоматизация для больших данных

Если вы работаете с данными из , Bitrix24 или других систем, где смены экспортируются в Excel в сыром виде, Power Query (или Get & Transform в новых версиях Excel) станет вашим спасением. Этот инструмент позволяет:

- Импортировать данные из внешних источников (CSV, SQL, API).

- Преобразовывать их (разделять столбцы, изменять форматы, фильтровать).

- Автоматически обновлять отчёты при изменении исходников.

Пример сценария:

У вас есть файл с сырыми данными, где смены записаны в формате:

Иванов И.И.;15.05.2026 20:00-16.05.2026 08:00;Ночь

Чтобы привести это к удобному виду:

  1. Перейдите на вкладку ДанныеПолучить данныеИз файлаИз книги Excel.
  2. Выберите ваш файл и лист с данными.
  3. В редакторе Power Query разделите столбец со временем на два отдельных столбца (начало и конец смены) с помощью Разделить столбецПо разделителю (символ "-").
  4. Добавьте пользовательский столбец для расчёта длительности смены:
    = Duration.From([Конец] - [Начало])
  5. Сгруппируйте данные по сотрудникам и типам смен с операцией Count.
  6. Загрузите результат в Excel или в модель данных.

Главное преимущество Power Queryповторяемость. Однажды настроенный запрос можно обновлять одним кликом, даже если исходные данные полностью поменялись.

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

Цифры в таблице — это хорошо, но визуализация помогает быстрее анализировать данные. Например, вы можете:

- Построить гистограмму распределения смен по дням недели.

- Использовать тепловую карту (условное форматирование) для выделения переработок.

- Создать календарь смен с цветовой маркировкой.

Пример 1: Гистограмма смен по дням недели

  1. Добавьте столбец с номером дня недели: =ДЕНЬНЕД(A2) (где A2 — ячейка с датой).
  2. Постройте сводную таблицу, где строки — дни недели (1–7), а значения — количество смен.
  3. На основе сводной таблицы создайте гистограмму (вкладка ВставкаГистограмма).

Пример 2: Условное форматирование для переработок

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

  1. Выделите диапазон с количеством смен.
  2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
  3. Выберите Форматировать только ячейки, которые содержат.
  4. Укажите условие: Значение > 5.
  5. Задайте красный цвет заливки.
Тип визуализации Когда использовать Пример формулы/настройки
Гистограмма Анализ распределения смен по дням/неделям =ДЕНЬНЕД(A2) для группировки
Тепловая карта Выделение переработок или дефицита смен Условное форматирование: Значение > 5 → красный
Календарь Визуализация графика на месяц Сводная таблица с группировкой по датам

7. Продвинутые сценарии: учёт переработок и выходных

Если ваш график включает переработки, выходные или праздничные дни, стандартные методы могут не сработать. Рассмотрим два сложных случая:

Сценарий 1: Подсчёт переработок

Допустим, нормальная смена — 8 часов, а всё, что сверх — переработка. Чтобы посчитать часы переработок:

  1. Добавьте столбец с длительностью смены в часах:
    =ЕСЛИ(C2=""; ""; (C2-B2)*24)

    где B2 — время начала, C2 — время окончания.

  2. Добавьте столбец с переработками:
    =ЕСЛИ(D2>8; D2-8; 0)

    где D2 — длительность смены.

  3. Используйте СУММЕСЛИ для подсчёта общих переработок по сотруднику.

Сценарий 2: Исключение выходных и праздников

Чтобы не учитывать смены в выходные (например, субботу и воскресенье):

  1. Добавьте столбец с проверкой дня недели:
    =ИЛИ(ДЕНЬНЕД(A2)=7; ДЕНЬНЕД(A2)=1)

    (где 7 — суббота, 1 — воскресенье).

  2. Модифицируйте формулу подсчёта:
    =СЧЁТЕСЛИМНЖ(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. Разделите составные поля (например, ФИО + дата + смена).
  2. Добавьте столбцы для расчёта длительности смен.
  3. Сгруппируйте данные по сотрудникам и типам смен.

После настройки запрос будет обновляться автоматически при изменении данных в 1С.

Как посчитать количество смен между двумя датами?

Используйте СЧЁТЕСЛИМНЖ с двумя условиями по датам:

=СЧЁТЕСЛИМНЖ(A2:A100; ">="&ДАТА(2026;5;1);

A2:A100; "<="&ДАТА(2026;5;15);

C2:C100; "День")

Эта формула посчитает дневные смены с 1 по 15 мая 2026.

Почему СЧЁТЕСЛИ возвращает 0, хотя данные есть?

Чаще всего это происходит из-за:

  • Несовпадения регистра (например, "день" vs "День").
  • Наличия пробелов или непечатаемых символов (используйте =ПЕЧСИМВ(C2) для очистки).
  • Неправильного формата данных (например, дата хранится как текст).

Проверьте данные с помощью функции =ТИП(C2) — она вернёт 1 для текста, 2 для чисел, 4 для логических значений.

Как визуализировать график смен на месяц?

Создайте сводную таблицу с группировкой по датам и типам смен, затем:

  1. Выделите сводную таблицу.
  2. Перейдите на вкладку ВставкаКалендарь (в Excel 2021+) или используйте Условное форматированиеНабор значков для цветовой маркировки.
  3. Для детального анализа постройте линию тренда по количеству смен в день.

Альтернатива: используйте Power BI для создания интерактивных дашбордов.