Как посчитать отработанное время в Excel: формулы, шаблоны и лайфхаки

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

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

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

1. Базовый метод: вычитание времени в формате «чч:мм»

Самый простой способ посчитать отработанное время — вычесть время начала работы из времени её окончания. Для этого данные должны быть введены в ячейки в формате время (например, 08:30 или 17:45). Excel автоматически распознаёт такой формат и позволяет выполнять арифметические операции.

Пример: если сотрудник пришёл на работу в 09:00, а ушёл в 18:30, формула будет выглядеть так:

=B2-A2

где A2 — время начала, B2 — время окончания. Результат: 9:30 (9 часов 30 минут).

Но что делать, если смена пересекает полночь? Например, сотрудник начал работать в 22:00, а закончил в 06:00 следующего дня. Здесь Excel выдаст ошибку или отрицательное значение. Решение — использовать формат ячеек:

  • 🔹 Выделите ячейку с результатом (например, C2).
  • 🔹 Нажмите правой кнопкой мыши → Формат ячеекЧисловой37:30:55 (формат «[ч]:мм:сс»).
  • 🔹 Теперь формула =B2-A2+ЕСЛИ(B2 вернёт корректное значение 8:00.

2. Учёт перерывов и округление времени

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

= (B2-A2) - D2

где D2 — длительность перерыва (например, 01:00 для часового обеда).

Часто требуется округлить отработанное время до ближайших 5, 10 или 15 минут. Для этого используйте функцию ОКРУГЛ:

= ОКРУГЛ((B2-A2-D2)*24*60/15; 0) * 15/60/24

Эта формула округляет время до 15 минут. Например, 8:23 станет 8:15, а 8:288:30.

Почему умножаем на 24*60?

Excel хранит время как долю суток (24 часа = 1). Чтобы перевести в минуты, умножаем на 24 (часы) и 60 (минуты).

Внимание: при округлении в большую сторону (например, для оплаты труда) используйте ОКРУГЛВВЕРХ:

= ОКРУГЛВВЕРХ((B2-A2-D2)*1440; 15)/1440
⚠️ Внимание: Округление времени может привести к искажению данных при суммировании. Например, если округлить 2:58 до 3:00, а затем сложить с другим округлённым значением, итоговая сумма будет завышена. Для точных расчётов округляйте только финальный результат.

3. Расчёт отработанного времени за месяц с учётом выходных

Для автоматического учёта рабочих и выходных дней используйте функцию РАБДЕНЬ.МЕЖД (или NETWORKDAYS.INTL в английской версии). Она возвращает количество рабочих дней между двумя датами, исключая субботу, воскресенье и праздники.

Пример таблицы для расчёта:

ДатаВремя началаВремя окончанияПерерывОтработаноРабочий день?
01.06.202609:0018:0001:00=ЕСЛИ(F2="Да";(C2-B2-D2);0)=ЕСЛИ(РАБДЕНЬ.МЕЖД(A2;A2;Праздники!A:A);"Да";"Нет")
02.06.202609:0018:0001:00=ЕСЛИ(F3="Да";(C3-B3-D3);0)=ЕСЛИ(РАБДЕНЬ.МЕЖД(A3;A3;Праздники!A:A);"Да";"Нет")
08.06.20260=ЕСЛИ(РАБДЕНЬ.МЕЖД(A4;A4;Праздники!A:A);"Да";"Нет")

В этом примере:

  • 📅 Столбец F определяет, был ли день рабочим (с учётом праздников из листа Праздники).
  • ⏱️ Столбец E считает время только для рабочих дней.
  • 📊 Для подсчёта итогов за месяц используйте =СУММ(E:E).
📊 Как вы обычно учитываете отработанное время?
Вручную в Excel
Специализированная программа (1С, ЗУП)
Онлайн-сервисы (Toggl, Clockify)
Другой способ

4. Автоматизация с помощью Power Query

Если у вас сотни строк с данными о времени, ручной расчёт станет утомительным. Power Query (вкладка ДанныеПолучить данные) позволяет автоматизировать процесс:

  1. Импортируйте данные из таблицы Excel или внешнего источника.
  2. Добавьте столбец с расчётом отработанного времени:
    = [Время окончания] - [Время начала] - [Перерыв]
  3. Преобразуйте формат времени в часы (умножьте на 24).
  4. Загрузите результат обратно в Excel.

Преимущества метода:

  • 🔄 Автоматическое обновление при изменении исходных данных.
  • 📂 Возможность объединять данные из нескольких файлов.
  • ⚡ Быстрая обработка тысяч строк (в отличие от формул Excel).

Исправить ошибки в формате времени (например, "8.30" → "08:30")|Удалить пустые строки|Проверить единство формата дат (ДД.ММ.ГГГГ)|Создать отдельный столбец для праздников (если нужно)-->

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

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

ОшибкаПричинаРешение
Отрицательное времяСмена пересекает полночь, но не учтён переход на следующий день.Используйте =ЕСЛИ(B2.
Некорректное суммированиеЯчейки отформатированы как текст или дата.Примените формат [ч]:мм ко всем ячейкам с временем.
Округление накапливает погрешностьОкругляются промежуточные значения, а не итог.Округляйте только финальную сумму за период.
Не учитываются праздникиФункция РАБДЕНЬ не настроена на региональные праздники.Создайте отдельный список праздников на листе и ссылайтесь на него.

Критическая ошибка: если в табеле используются данные из системы учёта рабочего времени (например, СКУД), проверьте, что формат экспорта совпадает с ожидаемым в Excel. Часто время экспортируется как текст (например, "08:30:00"), что приводит к ошибкам в формулах.

⚠️ Внимание: При импорте данных из 1С:ЗУП или других бухгалтерских программ время может отображаться в секундах с 1970 года (формат Unix-time). Чтобы преобразовать его в нормальный вид, используйте формулу:
= (A1/86400) + ДАТА(1970;1;1)

где A1 — ячейка с временем в секундах.

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

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

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

Для анализа динамики используйте график с накоплением:

  • 📊 Выделите данные (даты + отработанное время).
  • 🔹 Вставьте Гистограмму с накоплением.
  • 🎨 Настройте оси: по горизонтали — даты, по вертикали — часы.

Пример графика для анализа переработок:

График отработанного времени по дням недели

7. Готовые шаблоны для табеля учёта рабочего времени

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

  • 📄 Простой табель: столбцы «Дата», «Приход», «Уход», «Отработано». Скачать.
  • 📅 Табель с учётом праздников: автоматически исключает выходные и праздничные дни. Скачать.
  • 🕒 Табель с ночными сменами: корректно обрабатывает смены, пересекающие полночь. Скачать.
  • 📊 Аналитический табель: сводная таблица + графики переработок. Скачать.

Все шаблоны совместимы с Excel 2016 и новее, а также с Google Sheets (потребуется замена некоторых функций, например, РАБДЕНЬ.МЕЖД на NETWORKDAYS.INTL).

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

Как посчитать время, если в ячейке текст (например, "8 часов 30 минут")?

Используйте функцию ЗНАЧЕН в комбинации с ПОИСК и ПСТР:

= ЗНАЧЕН(ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1))/24 + ЗНАЧЕН(ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК("м";A1)-ПОИСК(" ";A1)-2))/1440

Или преобразуйте данные в формат времени через Текст по столбцам (вкладка Данные).

Почему сумма времени отображается некорректно (например, 25:30 вместо 1:30)?

Excel по умолчанию отображает время в формате «ч:мм», где часы не могут превышать 23. Чтобы исправить:

  1. Выделите ячейку с суммой.
  2. Нажмите Ctrl+1 → выберите формат [ч]:мм:сс.
Как учитывать ночные часы (с 22:00 до 06:00) с повышенной оплатой?

Добавьте дополнительный столбец для расчёта ночных часов:

= ЕСЛИ(И(B2>ВРЕМЯ(22;0;0); C2<=ВРЕМЯ(6;0;0)); МИН(C2;ВРЕМЯ(6;0;0)) - МАКС(B2;ВРЕМЯ(22;0;0)); ЕСЛИ(И(B2<=ВРЕМЯ(6;0;0); C2>ВРЕМЯ(22;0;0)); (ВРЕМЯ(6;0;0)-ВРЕМЯ(0;0;0)) + (C2-ВРЕМЯ(22;0;0)); 0))

Затем умножьте результат на коэффициент повышения (например, 1.2).

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

Да, если ваша СКУД экспортирует данные в CSV или XLSX. Настройте Power Query для автоматического импорта:

  1. Импортируйте файл через Данные → Получить данные → Из файла.
  2. Преобразуйте столбцы с временем в формат чч:мм:сс.
  3. Объедините с вашим табелем по ФИО или табельному номеру.
Как посчитать среднее отработанное время за месяц?

Используйте функцию СРЗНАЧ, но предварительно преобразуйте время в часы:

= СРЗНАЧ(Диапазон_времени*24)

Например, =СРЗНАЧ(E2:E31*24), где E2:E31 — столбец с отработанным временем за каждый день.