Расчёт отработанного времени в 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:28 — 8:30.
Почему умножаем на 24*60?
Excel хранит время как долю суток (24 часа = 1). Чтобы перевести в минуты, умножаем на 24 (часы) и 60 (минуты).
Внимание: при округлении в большую сторону (например, для оплаты труда) используйте ОКРУГЛВВЕРХ:
= ОКРУГЛВВЕРХ((B2-A2-D2)*1440; 15)/1440
⚠️ Внимание: Округление времени может привести к искажению данных при суммировании. Например, если округлить2:58до3:00, а затем сложить с другим округлённым значением, итоговая сумма будет завышена. Для точных расчётов округляйте только финальный результат.
3. Расчёт отработанного времени за месяц с учётом выходных
Для автоматического учёта рабочих и выходных дней используйте функцию РАБДЕНЬ.МЕЖД (или NETWORKDAYS.INTL в английской версии). Она возвращает количество рабочих дней между двумя датами, исключая субботу, воскресенье и праздники.
Пример таблицы для расчёта:
| Дата | Время начала | Время окончания | Перерыв | Отработано | Рабочий день? |
|---|---|---|---|---|---|
| 01.06.2026 | 09:00 | 18:00 | 01:00 | =ЕСЛИ(F2="Да";(C2-B2-D2);0) | =ЕСЛИ(РАБДЕНЬ.МЕЖД(A2;A2;Праздники!A:A);"Да";"Нет") |
| 02.06.2026 | 09:00 | 18:00 | 01:00 | =ЕСЛИ(F3="Да";(C3-B3-D3);0) | =ЕСЛИ(РАБДЕНЬ.МЕЖД(A3;A3;Праздники!A:A);"Да";"Нет") |
| 08.06.2026 | — | — | — | 0 | =ЕСЛИ(РАБДЕНЬ.МЕЖД(A4;A4;Праздники!A:A);"Да";"Нет") |
В этом примере:
- 📅 Столбец
Fопределяет, был ли день рабочим (с учётом праздников из листаПраздники). - ⏱️ Столбец
Eсчитает время только для рабочих дней. - 📊 Для подсчёта итогов за месяц используйте
=СУММ(E:E).
4. Автоматизация с помощью Power Query
Если у вас сотни строк с данными о времени, ручной расчёт станет утомительным. Power Query (вкладка Данные → Получить данные) позволяет автоматизировать процесс:
- Импортируйте данные из таблицы Excel или внешнего источника.
- Добавьте столбец с расчётом отработанного времени:
= [Время окончания] - [Время начала] - [Перерыв] - Преобразуйте формат времени в часы (умножьте на 24).
- Загрузите результат обратно в Excel.
Преимущества метода:
- 🔄 Автоматическое обновление при изменении исходных данных.
- 📂 Возможность объединять данные из нескольких файлов.
- ⚡ Быстрая обработка тысяч строк (в отличие от формул Excel).
Исправить ошибки в формате времени (например, "8.30" → "08:30")|Удалить пустые строки|Проверить единство формата дат (ДД.ММ.ГГГГ)|Создать отдельный столбец для праздников (если нужно)-->
5. Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при расчёте времени. Вот самые распространённые:
| Ошибка | Причина | Решение |
|---|---|---|
| Отрицательное время | Смена пересекает полночь, но не учтён переход на следующий день. | Используйте =ЕСЛИ(B2 |
| Некорректное суммирование | Ячейки отформатированы как текст или дата. | Примените формат [ч]:мм ко всем ячейкам с временем. |
| Округление накапливает погрешность | Округляются промежуточные значения, а не итог. | Округляйте только финальную сумму за период. |
| Не учитываются праздники | Функция РАБДЕНЬ не настроена на региональные праздники. | Создайте отдельный список праздников на листе и ссылайтесь на него. |
Критическая ошибка: если в табеле используются данные из системы учёта рабочего времени (например, СКУД), проверьте, что формат экспорта совпадает с ожидаемым в Excel. Часто время экспортируется как текст (например, "08:30:00"), что приводит к ошибкам в формулах.
⚠️ Внимание: При импорте данных из 1С:ЗУП или других бухгалтерских программ время может отображаться в секундах с 1970 года (формат Unix-time). Чтобы преобразовать его в нормальный вид, используйте формулу:= (A1/86400) + ДАТА(1970;1;1)где
A1— ячейка с временем в секундах.
6. Визуализация данных: сводные таблицы и графики
Чтобы представить отработанное время наглядно, создайте сводную таблицу:
- Выделите исходные данные (включая заголовки столбцов).
- Перейдите на вкладку
Вставка→Сводная таблица. - В поле
СтрокидобавьтеФИО сотрудникаилиДата. - В поле
Значенияперетащите столбец с отработанным временем (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. Чтобы исправить:
- Выделите ячейку с суммой.
- Нажмите
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 для автоматического импорта:
- Импортируйте файл через
Данные → Получить данные → Из файла. - Преобразуйте столбцы с временем в формат
чч:мм:сс. - Объедините с вашим табелем по
ФИОилитабельному номеру.
Как посчитать среднее отработанное время за месяц?
Используйте функцию СРЗНАЧ, но предварительно преобразуйте время в часы:
= СРЗНАЧ(Диапазон_времени*24)
Например, =СРЗНАЧ(E2:E31*24), где E2:E31 — столбец с отработанным временем за каждый день.