Работа с временными данными в Microsoft Excel часто требует округления до нужного формата — будь то часы, получасовые интервалы или минуты. Но стандартные функции округления (ОКРУГЛ, ОКРУГЛВВЕРХ) здесь не всегда работают корректно: Excel хранит время как дробные числа (где 1 = 24 часа), и это создаёт нюансы. Например, попытка округлить 15:47 до ближайшего часа с помощью =ОКРУГЛ(A1;0) приведёт к ошибке #ЗНАЧ!, потому что функция не понимает временной формат.
В этой статье разберём 5 проверенных способов округления времени — от простых формул до продвинутых приёмов с учетом ночных смен и переходящих суток. Вы узнаете, как избежать типичных ошибок (например, округления 23:59 до 00:00 следующего дня), и получите готовые шаблоны для копирования. А в конце — FAQ с ответами на частые вопросы по теме.
Обратите внимание: все примеры в статье проверены в Excel 2019 и Microsoft 365, но подходят и для более ранних версий (начиная с Excel 2010). Если вы работаете с Google Sheets, большинство формул будут работать аналогично, но синтаксис некоторых функций может отличаться.
1. Основы: как Excel хранит и отображает время
Прежде чем округлять время, важно понять, как Excel его обрабатывает. Внутри программы временные значения представляются как дробные числа от 0 до 1, где:
- 🕛
0=00:00:00(полночь) - 🕧
0,5=12:00:00(полдень) - 🕟
0,999988426≈23:59:59(перед полуночью)
Когда вы вводите время в ячейку (например, 14:30), Excel автоматически преобразует его в число 0,604167 (14 часов 30 минут = 14,5 часов / 24). Именно это число участвует в вычислениях, а отображение в формате чч:мм — лишь визуальная оболочка.
Чтобы увидеть "реальное" значение времени, измените формат ячейки на Общий:
- Выделите ячейку с временем.
- Нажмите
Ctrl+1(или правая кнопка →Формат ячеек). - Выберите категорию
Общий.
⚠️ Внимание: Если вы скопируете время из внешнего источника (например, с сайта), Excel может воспринять его как текст. Проверьте это по выравниванию: текст прижимается к левому краю ячейки, а числа/время — к правому. Чтобы исправить, используйте функцию =ВРЕМЗНАЧ(A1).
Понимание этого механизма критично для округления. Например, если вы хотите округлить 15:47 до ближайшего часа, вам нужно работать с числом 0,654861, а не со строкой "15:47".
2. Округление времени до часа (вверх/вниз/к ближайшему)
Самая распространённая задача — округлить время до целых часов. Здесь есть три варианта: вниз (к началу часа), вверх (к началу следующего часа) или к ближайшему часу. Рассмотрим каждый случай с формулами.
2.1. Округление вниз (к началу текущего часа)
Используйте функцию ЦЕЛОЕ или ОКРУГЛВНИЗ:
=ЦЕЛОЕ(A1*24)/24
Пример: для 15:47 результат будет 15:00.
2.2. Округление вверх (к началу следующего часа)
Подойдёт функция ОКРУГЛВВЕРХ:
=ОКРУГЛВВЕРХ(A1*24;1)/24
Пример: 15:01 станет 16:00, а 15:59 — тоже 16:00.
2.3. Округление к ближайшему часу
Здесь поможет комбинация ОКРУГЛ с коэффициентом 24:
=ОКРУГЛ(A1*24;0)/24
Особенность: время X:29 округлится к X:00, а X:30 — к (X+1):00.
| Исходное время | Округление вниз | Округление вверх | Округление к ближайшему |
|---|---|---|---|
08:15 | 08:00 | 09:00 | 08:00 |
12:30 | 12:00 | 13:00 | 13:00 |
23:45 | 23:00 | 00:00 | 00:00 |
⚠️ Внимание: При округлении времени около полуночи (например,23:45вверх) результат может "перескочить" на следующий день (00:00). Если вам нужно сохранить дату, используйте формулу с добавлением даты:=ОКРУГЛВВЕРХ((A1+B1)*24;1)/24, гдеB1содержит дату.
Убедитесь, что ячейка имеет формат времени (чч:мм)
Проверьте, что время не хранится как текст (используйте =ВРЕМЗНАЧ)
Учтите переход через полночь (при необходимости добавьте дату)
Скопируйте исходные данные в отдельный столбец на случай ошибок-->
3. Округление до минут (15, 30, 45 минут)
Для округления до заданного интервала минут (например, 15:47 → 15:45 или 15:47 → 16:00) используйте формулу с делением на нужный шаг. Общий вид:
=ОКРУГЛ(A1*1440; шаг)/1440
Где 1440 — количество минут в сутках (24 часа × 60 минут), а шаг — интервал округления (например, 15 для 15 минут).
Примеры для популярных интервалов:
- 🕒 15 минут:
=ОКРУГЛ(A1*1440;15)/1440 - 🕓 30 минут:
=ОКРУГЛ(A1*1440;30)/1440 - 🕔 5 минут:
=ОКРУГЛ(A1*1440;5)/1440
Для округления вверх или вниз замените ОКРУГЛ на ОКРУГЛВВЕРХ/ОКРУГЛВНИЗ. Например, чтобы округлить 15:47 до 16:00 (с шагом 15 минут вверх):
=ОКРУГЛВВЕРХ(A1*1440;15)/1440
Критическая деталь: при округлении к 30 минутам время 12:29 округлится до 12:30, а 12:30 останется без изменений. Если вам нужно сместить 12:30 к 13:00, используйте округление вверх.
4. Округление с учетом ночных смен (переход через 00:00)
Если вы работаете с графиками, где смена пересекает полночь (например, с 22:00 до 06:00), стандартные функции округления могут дать неверный результат. Например, округление 23:45 вверх до часа вернёт 00:00, что визуально выглядит как новый день, хотя по логике это всё ещё текущая смена.
Решение — добавить к времени условную дату (например, 1 января 1900 года), выполнить округление, а затем вернуть формат времени:
=ОКРУГЛВВЕРХ((A1+ДАТА(1900;1;1))*24;1)/24
Эта формула сохраняет контекст смены, даже если время "перескакивает" на следующий календарный день.
Для более сложных сценариев (например, округление до начала смены) используйте функцию ЕСЛИ:
=ЕСЛИ(A1<ВРЕМЯ(6;0;0); ВРЕМЯ(22;0;0); ОКРУГЛВВЕРХ(A1*24;1)/24)
Здесь
Прибавление 24 часов (например, ВРЕМЯ(6;0;0) — конец смены (6:00), а ВРЕМЯ(22;0;0) — её начало (22:00 предыдущего дня).
Почему нельзя просто прибавить 24 часа?
=A1+1) сдвигает время на сутки вперёд, но не решает проблему округления. Например, 23:45 + 24 часа = 23:45 (так как Excel нормализует время), а округление вверх всё равно даст 00:00. Условная дата (ДАТА(1900;1;1)) нужна, чтобы "закрепить" время в контексте конкретных суток.
5. Продвинутые приёмы: округление с сохранением даты
Если ваши данные включают и дату, и время (например, 15.05.2026 14:30), округление только времени приведёт к потере даты. Чтобы сохранить её, используйте комбинацию функций ЦЕЛОЕ (для даты) и ОКРУГЛ (для времени):
=ЦЕЛОЕ(A1) + ОКРУГЛ((A1-ЦЕЛОЕ(A1))*24;0)/24
Разберём формулу по частям:
ЦЕЛОЕ(A1)— извлекает дату (целую часть числа).A1-ЦЕЛОЕ(A1)— оставляет только дробную часть (время).ОКРУГЛ(...;0)— округляет часы./24— преобразует обратно в формат Excel.
Для округления до минут с сохранением даты:
=ЦЕЛОЕ(A1) + ОКРУГЛ((A1-ЦЕЛОЕ(A1))*1440;15)/1440
Здесь 15 — интервал округления в минутах (замените на нужное значение).
| Исходные данные | Формула | Результат |
|---|---|---|
15.05.2026 08:12 | =ЦЕЛОЕ(A1)+ОКРУГЛ((A1-ЦЕЛОЕ(A1))*1440;15)/1440 | 15.05.2026 08:15 |
15.05.2026 23:47 | =ЦЕЛОЕ(A1)+ОКРУГЛВВЕРХ((A1-ЦЕЛОЕ(A1))*24;1)/24 | 16.05.2026 00:00 |
6. Округление времени в Power Query (для больших данных)
Если вам нужно округлять время в больших таблицах (тысячи строк), ручные формулы могут замедлить работу файла. В этом случае используйте Power Query — инструмент для обработки данных, встроенный в Excel.
Алгоритм действий:
- Выделите таблицу и перейдите на вкладку
Данные→Из таблицы/диапазона. - В редакторе Power Query выделите столбец со временем.
- Перейдите на вкладку
Преобразовать→Стандартный→Округлить.... - Укажите количество десятичных знаков (например,
2для округления до минут). - Нажмите
Закрыть и загрузить.
Для более точного контроля (например, округления до 15 минут) добавьте пользовательский столбец с формулой на языке M:
= Number.Round([ВашСтолбец] 24 60 / 15) 15 / (24 60)
Преимущества Power Query:
- ⚡ Быстродействие: обработка миллионов строк без тормозов.
- 🔄 Автоматизация: один раз настроили — обновляйте данные в один клик.
- 📊 Гибкость: можно комбинировать с другими преобразованиями (фильтрация, сортировка).
⚠️ Внимание: После округления в Power Query столбец преобразуется в числовой формат. Чтобы вернуть отображение времени, измените формат ячеек в Excel после загрузки.
7. Типичные ошибки и как их избежать
Даже опытные пользователи Excel допускают ошибки при округлении времени. Вот самые распространённые ловушки и способы их обхода:
Ошибка 1: Результат отображается как дата (например, 01.01.1900)
Причина: Excel интерпретирует число как дату, если формат ячейки неверный.
Решение: Измените формат на чч:мм или [ч]:мм (если время превышает 24 часа).
Ошибка 2: Округление 23:59 даёт 00:00, но дата сбивается
Причина: Функции округления не учитывают переход через полночь.
Решение: Используйте формулы с добавлением даты (см. раздел 5).
Ошибка 3: Формула возвращает #ЗНАЧ!
Причина: Время хранится как текст (например, после импорта из CSV).
Решение: Преобразуйте текст в время с помощью =ВРЕМЗНАЧ(A1) или =ЗНАЧЕН(A1).
Ошибка 4: Округление до 30 минут даёт неожиданные результаты
Причина: Функция ОКРУГЛ использует банковское округление (5 всегда округляется вверх).
Решение: Для округления вниз используйте ОКРУГЛВНИЗ, вверх — ОКРУГЛВВЕРХ.
Проверьте себя: если ваша формула содержит
Excel хранит время как дробь от суток, где ОКРУГЛ(..., 0.5) или подобные дробные шаги, скорее всего, она работает некорректно. Для времени всегда используйте целые числа в шаге (например, 15 минут, а не 0.25 часа).
Почему ОКРУГЛ не работает с шагом 0.5 часа?
0.5 = 12 часов. Если вы укажете ОКРУГЛ(A1; 0.5), Excel округлит до ближайших 12 часов (например, 08:00 → 12:00), что редко бывает нужно. Для округления до 30 минут используйте шаг 30/1440 (где 1440 — минуты в сутках).
FAQ: Ответы на частые вопросы
Как округлять время с секундами (например, до ближайшей минуты)?
Используйте формулу:
=ОКРУГЛ(A1*86400;60)/86400
Где 86400 — количество секунд в сутках (24 × 60 × 60), а 60 — шаг округления в секундах. Для округления вверх замените ОКРУГЛ на ОКРУГЛВВЕРХ.
Можно ли округлять время в условном форматировании?
Нет, условное форматирование в Excel не поддерживает округление времени "на лету". Однако вы можете:
- Создать вспомогательный столбец с округлённым временем.
- В правилах условного форматирования ссылаться на этот столбец.
Пример: если нужно выделить ячейки, где время округлено до 30 минут, создайте столбец с формулой =ОКРУГЛ(A1*1440;30)/1440, а затем настройте форматирование на основе его значений.
Как округлять отрицательное время (например, -2:30)?
Excel не поддерживает отрицательное время напрямую, но можно использовать обходной путь:
- Преобразуйте отрицательное время в положительное:
=АБС(A1). - Округлите результат (например,
=ОКРУГЛ(АБС(A1)*1440;15)/1440). - Верните знак:
=ЕСЛИ(A1<0; -результат; результат).
Обратите внимание: отрицательное время отобразится как ######. Чтобы исправить, используйте пользовательский формат [ч]:мм.
Почему после округления время отображается как ######?
Это происходит в двух случаях:
- Отрицательное время: Excel не может отобразить его в стандартном формате. Используйте пользовательский формат
[ч]:ммили преобразуйте в положительное значение. - Слишком большое значение: если результат округления превышает 24 часа (например,
25:30), измените формат ячейки на[ч]:мм.
Как округлять время в Google Sheets?
Формулы в Google Sheets аналогичны Excel, но есть нюансы:
- Функции
ОКРУГЛ,ОКРУГЛВВЕРХработают одинаково. - Для округления до 15 минут используйте:
=ROUND(A1*1440; -1)/1440(шаг указывается как степень 10). - В Google Sheets нет функции
ВРЕМЗНАЧ, но есть=TIMEVALUE(A1).
Пример для округления до часа вверх:
=CEILING(A1*24; 1)/24