Недоработка рабочего времени — это разница между нормой рабочих часов по графику и фактически отработанными часами. Такой расчёт важен для кадровых служб, бухгалтерии и руководителей, чтобы контролировать дисциплину, начислять зарплату или оплачивать сверхурочные. Excel позволяет автоматизировать этот процесс, исключая ручные ошибки и экономя часы на подготовку отчётов.
Многие компании до сих пор ведут учёт вручную или используют устаревшие программы, что приводит к неточности в данных. Между тем, даже базовые функции Excel — такие как ЕСЛИ, СУММЕСЛИ или простая арифметика — способны решить 90% задач по учёту времени. В этой статье разберём пошаговые инструкции с формулами, примерами таблиц и типичными ошибками, которые портят расчёты.
Вы узнаете:
- 📊 Как составить базовую таблицу для учёта рабочего времени с формулами
- ⏱️ Какие функции Excel использовать для расчёта недоработки (включая
РАБДЕНЬ,ВРЕМЗНАЧ) - 📈 Как визуализировать недоработку с помощью условного форматирования и графиков
- ⚠️ Типичные ошибки, из-за которых формулы дают неверный результат
Материал будет полезен как кадровым специалистам, так и руководителям небольших компаний, которые хотят навести порядок в учёте рабочего времени без покупки дорогого ПО.
1. Подготовка исходных данных: структура таблицы
Перед тем как рассчитывать недоработку, нужно правильно организовать исходные данные. Типичная таблица учёта рабочего времени включает:
- 📅 Дату
- 👤 ФИО сотрудника (или табельный номер)
- ⏰ Норму рабочих часов на день (по графику)
- ✅ Фактически отработанные часы
- 📝 Примечания (отпуск, больничный, командировка)
Пример структуры таблицы:
| Дата | ФИО | Норма (ч) | Факт (ч) | Недоработка (ч) | Примечание |
|---|---|---|---|---|---|
| 01.06.2026 | Иванов И.И. | 8 | 7 | =C2-D2 | Опоздание |
| 02.06.2026 | Иванов И.И. | 8 | 0 | =C3-D3 | Больничный |
| 03.06.2026 | Петров П.П. | 8 | 9 | =C4-D4 | Сверхурочная |
Ключевые правила:
- Дата должна быть в формате
ДД.ММ.ГГГГ(не текст!). Проверить можно функциейДАТАЗНАЧ. - Норма часов рассчитывается по производственному календарю (в выходные и праздники норма = 0).
- Фактические часы вводятся в формате
ч:ммили как десятичное число (например,7,5для 7 часов 30 минут).
⚠️ Внимание: Если в ячейке с фактическими часами стоит текст (например, "отпуск"), формула вернёт ошибку. Используйте функцию ЕСЛИОШИБКА или отдельный столбец для примечаний.
2. Базовые формулы для расчёта недоработки
Самый простой способ рассчитать недоработку — вычесть фактические часы из нормы:
=Норма - Факт
Но этот подход не учитывает:
- 📅 Выходные и праздники (норма = 0)
- 🏥 Больничные, отпуска, командировки (факт может быть = 0, но это не недоработка)
- ⏳ Сверхурочные (если факт > нормы, результат будет отрицательным)
Универсальная формула с учётом исключений:
=ЕСЛИ(ИЛИ(E2="выходной"; E2="праздник"; E2="отпуск"); 0; ЕСЛИ(D2=0; C2; C2-D2))
Где:
E2— ячейка с примечаниемC2— норма часовD2— фактические часы
3. Автоматизация с учётом производственного календаря
Чтобы Excel автоматически определял норму часов (с учётом выходных и праздников), используйте функцию РАБДЕНЬ в связке с ВПР или ИНДЕКС/ПОИСКПОЗ.
Шаг 1. Создайте справочник праздников и выходных на год (пример для 2026 года):
| Дата | Тип дня | Норма (ч) |
|---|---|---|
| 01.01.2026 | Праздник | 0 |
| 07.01.2026 | Праздник | 0 |
| 08.03.2026 | Выходной | 0 |
Шаг 2. В столбце с нормой часов используйте формулу:
=ЕСЛИОШИБКА(ВПР(A2; Праздники!A:B; 2; ЛОЖЬ); ЕСЛИ(ДЕНЬНЕД(A2;2)>5; 0; 8))
Где:
A2— ячейка с датойПраздники!A:B— диапазон со справочником праздниковДЕНЬНЕД(A2;2)>5— проверка на выходной (суббота=6, воскресенье=7)
4. Учёт сверхурочных и ночных часов
Если сотрудник отработал больше нормы, результат формулы будет отрицательным (например, -1 для 1 часа сверхурочных). Чтобы разделить недоработку и переработку, используйте функцию ЕСЛИ с условием:
=ЕСЛИ(D2>C2; "Переработка: " & (D2-C2); ЕСЛИ(D2=C2; "Норма"; "Недоработка: " & (C2-D2)))
Для учёта ночных часов (с 22:00 до 6:00) добавьте дополнительный столбец с формулой:
=ЕСЛИ(И(ВРЕМЯЗНАЧ("22:00")<=ВРЕМЯЗНАЧ(ТЕКСТ(B2;"ч:мм")); ВРЕМЯЗНАЧ(ТЕКСТ(B2;"ч:мм"))<=ВРЕМЯЗНАЧ("6:00")); D2*0,2; 0)
Где B2 — время окончания работы, D2 — фактические часы, 0,2 — коэффициент оплаты ночных часов (20%).
Для сменного графика создайте отдельную таблицу с нормами по каждой смене. В формуле расчёта недоработки используйте Как учитывать сменный график?
ВПР или ИНДЕКС/ПОИСКПОЗ, чтобы подтягивать норму в зависимости от типа смены (утро/вечер/ночь).
5. Визуализация недоработки: условное форматирование и графики
Чтобы быстро выявлять проблемные дни, настройте условное форматирование:
- Выделите столбец с недоработкой.
- Перейдите на вкладку
Главная → Условное форматирование → Правила выделения ячеек. - Добавьте правила:
- 🔴 Красный фон для значений > 0 (недоработка)
- 🟢 Зелёный фон для значений < 0 (переработка)
- 🟡 Жёлтый фон для ячеек с текстом "отпуск" или "больничный"
Для анализа динамики постройте гистограмму:
- Выделите данные (дата, фактические часы, норма).
- Нажмите
Вставка → Гистограмма с группировкой. - Добавьте линию тренда, чтобы увидеть тенденции (увеличение/уменьшение недоработки).
- 🔢 Округление часов: Если фактические часы вводятся как
7:30, а норма — как8,0, формула вернёт0,5вместо0:30. Используйте форматч:ммдля всех ячеек с временем. - 📊 Копирование формул: При копировании формулы вниз абсолютные ссылки (например,
$A$1) не изменяются, а относительные (A1) — сдвигаются. Проверяйте диапазоны после копирования. - ⚠️ Пустые ячейки: Если в ячейке с фактическими часами пусто, формула вернёт норму часов как недоработку. Используйте
ЕСЛИ(Д2=""; ""; C2-D2). - 📄 Автоматический расчёт нормы по производственному календарю
- 📊 Условное форматирование для визуализации недоработки
- 📈 График динамики отработанных часов
- 🔍 Фильтры по сотрудникам и периодам
Недоработка— столбец с расчётом недоработкиФИО— столбец с именами сотрудниковДата— столбец с датами- В ячейке с фактическими часами текст вместо числа (например, "отпуск"). Используйте
ЕСЛИОШИБКА. - Несовпадение форматов данных (например, дата как текст). Преобразуйте формат с помощью
ДАТАЗНАЧ. - Опечатка в имени диапазона. Проверьте названия столбцов в формуле.
Используются ли абсолютные ссылки ($A$1) в формулах для справочников?|Учтены ли все праздники и выходные?|Правильно ли настроено условное форматирование?|Есть ли резервная копия файла?-->
6. Типичные ошибки и как их избежать
Самая распространённая ошибка — неправильный формат данных. Если дата введена как текст (например, "01.06.2026" вместо формата даты), функции ДЕНЬНЕД или РАБДЕНЬ не будут работать. Проверить формат можно с помощью функции ТИП:
=ТИП(A2)
Результат 1 — число (дату Excel хранит как число), 2 — текст.
Другие ошибки:
⚠️ Внимание: Если в вашей компании используется суммированный учёт рабочего времени (например, норма 160 часов в месяц), нельзя рассчитывать недоработку по дням. Сначала суммируйте фактические часы за период, затем сравнивайте с месячной нормой.
7. Шаблон готовой таблицы для скачивания
Чтобы сэкономить время, вы можете скачать готовый шаблон таблицы учёта рабочего времени с формулами:
FAQ: Частые вопросы по расчёту недоработки в Excel
Как учитывать отпуск или больничный в расчётах?
Для дней отпуска или больничного в столбце "Примечание" укажите соответствующий статус (например, "отпуск"). В формуле расчёта недоработки добавьте условие:
=ЕСЛИ(ИЛИ(E2="отпуск"; E2="больничный"); 0; C2-D2)
Где E2 — ячейка с примечанием. Таким образом, недоработка для этих дней будет равна 0.
Можно ли автоматически подтягивать норму часов из производственного календаря?
Да. Создайте отдельный лист с производственным календарём (столбцы: дата, тип дня, норма часов). Затем используйте функцию ВПР или ИНДЕКС/ПОИСКПОЗ, чтобы подтягивать норму в основную таблицу:
=ВПР(A2; Календарь!A:C; 3; ЛОЖЬ)
Где A2 — дата в основной таблице, Календарь!A:C — диапазон с календарём.
Как рассчитать недоработку за месяц для каждого сотрудника?
Используйте функцию СУММЕСЛИМН (или СУММЕСЛИ в старых версиях Excel):
=СУММЕСЛИМН(Недоработка; ФИО; "Иванов И.И."; Дата; ">="&ДАТА(2026;6;1); Дата; "<="&ДАТА(2026;6;30))
Где:
Что делать, если формула возвращает ошибку #ЗНАЧ?
Ошибка #ЗНАЧ! возникает, если:
Пример исправления:
=ЕСЛИОШИБКА(ВПР(A2; Календарь!A:C; 3; ЛОЖЬ); 8)
Как экспортировать данные в бухгалтерскую программу?
Чтобы передать данные в 1С или другое ПО:
- Сохраните лист Excel в формате
.csv(Файл → Сохранить как → CSV). - Убедитесь, что даты и числа сохранены в корректном формате (в
CSVформатирование может сбиться). - Импортируйте файл в бухгалтерскую программу через меню импорта (обычно
Файл → Импорт данных).
Для сложных отчётов используйте сводные таблицы в Excel, чтобы сгруппировать данные по сотрудникам и периодам перед экспортом.