Округление времени до часов в Excel: формулы, примеры и лайфхаки

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

Многие пользователи сталкиваются с тем, что Excel воспринимает время как дробные числа (где 1 = 24 часа), а не как привычные часы и минуты. Из-за этого попытка округлить 15:47 до 16:00 может дать неожиданный результат вроде 0,65277. В этой статье разберём 5 проверенных способов округления времени — от простых функций до формул для сложных случаев. А ещё выясним, почему иногда Excel "упрямится" и как этого избежать.

———

Почему стандартное округление не работает с временем?

Внутри Excel время хранится как дробное число, где целая часть — это дни, а дробная — время суток. Например:

  • 🕒 12:00 = 0,5 (половина суток)
  • 🕛 00:00 = 0 (начало суток)
  • 🕓 06:30 = 0,27083 (30 минут = 0,02083 × 13)

Когда вы применяете ОКРУГЛ(15:47; 0), программа округляет именно это дробное значение, а не часы на циферблате. Результат 0,65625 (что соответствует 15:45) может сбить с толку.

Кроме того, Excel по умолчанию использует банковское округление (к ближайшему чётному числу при половине), что иногда искажает результат. Например, 12:30 округлится до 12:00, а не до 13:00, как ожидает пользователь.

Чтобы избежать таких сюрпризов, нужно либо преобразовывать время в часы перед округлением, либо использовать специализированные функции. Об этом — далее.

📊 Как часто вы работаете с временными данными в Excel?
Ежедневно
Несколько раз в неделю
Редко
Никогда

Способ 1: Функция ОКРУГЛ с коэффициентом

Самый очевидный, но не всегда корректный метод — умножить время на 24 (чтобы перевести в часы), округлить, а затем разделить обратно. Формула выглядит так:

=ОКРУГЛ(A1*24; 0)/24

Пример: Если в ячейке A1 записано 15:47, формула вернёт 16:00. Но здесь есть подводные камни:

  • ⚠️ Если время ближе к половине часа (например, 15:30), результат зависит от версии Excel (в некоторых случаях округлится до 15:00).
  • ⏰ Формула не учитывает переход через полночь: 23:47 станет 00:00 следующего дня, что не всегда удобно.

Чтобы избежать ошибок, комбинируйте ОКРУГЛ с функцией ЕСЛИ для обработки пограничных случаев:

=ЕСЛИ(ОКРУГЛВНИЗ(A1*24;0)=ОКРУГЛ(A1*24;0); ОКРУГЛВНИЗ(A1*24;0)/24; ОКРУГЛ(A1*24;0)/24)

Способ 2: Функция ЦЕЛОЕ для округления вниз

Когда требуется округлить время до предыдущего целого часа (например, для расчёта оплаты по минимальному тарифу), используйте ЦЕЛОЕ. Эта функция просто отбрасывает дробную часть, не анализируя её значение.

Формула:

=ЦЕЛОЕ(A1*24)/24

Примеры результатов:

Исходное времяФормулаРезультат
15:47=ЦЕЛОЕ(A1*24)/2415:00
08:59=ЦЕЛОЕ(A1*24)/2408:00
23:01=ЦЕЛОЕ(A1*24)/2423:00

⚠️ Внимание: Если в ячейке указано время 00:00, функция вернёт 0 (что Excel интерпретирует как дату 00.01.1900). Чтобы избежать этого, оберните формулу в ЕСЛИ:

=ЕСЛИ(A1=0; 0; ЦЕЛОЕ(A1*24)/24)

Способ 3: Функция ПОЛУЧАС для точного округления

Для округления времени до ближайшего часа с учётом 30-минутного порога (например, 15:3016:00, а 15:2915:00) идеально подходит функция ПОЛУЧАС. Она специально разработана для работы с временными данными.

Формула:

=ПОЛУЧАС(A1; 1)

где 1 — это шаг округления в часах.

Как это работает:

  • 🔄 Если минуты ≥ 30, время округляется вверх.
  • ⬇️ Если минуты < 30, время округляется вниз.
  • 🕛 Для времени 23:30 результат будет 00:00 (следующий день).

Это единственная функция в Excel, которая корректно обрабатывает переход через полночь без дополнительных проверок.

Убедитесь, что ячейка отформатирована как Время|

Проверьте, нет ли в данных текстовых значений (например, "15 ч 30 м")|

Учтите, что функция доступна только в Excel 2013 и новее|

Способ 4: Округление с учётом рабочего дня (12/24 часа)

Если вам нужно округлить время в рамках 12-часового формата (например, для американского стиля времени с AM/PM), стандартные функции могут дать сбой. В этом случае используйте комбинацию ЕСЛИ и ОКРУГЛ с проверкой на полдень:

=ЕСЛИ(A1>=0,5; ОКРУГЛ((A1-0,5)*24;0)/24+0,5; ОКРУГЛ(A1*24;0)/24)

Расшифровка:

  • 🌞 Если время ≥ 12:00 (0,5), вычитаем 12 часов, округляем, затем возвращаем 12 часов.
  • 🌅 Если время < 12:00, округляем как обычно.

⚠️ Внимание: Эта формула не учитывает обозначения AM/PM в ячейке. Если ваши данные содержат текстовые метки (например, "3:00 PM"), сначала преобразуйте их в числовой формат с помощью ВРЕМЗНАЧ:

=ВРЕМЗНАЧ(ПОДСТАВИТЬ(A1;" PM";":00 PM"))

Способ 5: Округление с сохранением даты

Когда время привязано к конкретной дате (например, 15.05.2026 15:47), простое округление может "сбросить" дату к 00.01.1900. Чтобы сохранить дату, используйте:

=ЦЕЛОЕ(A1) + ОКРУГЛ((A1-ЦЕЛОЕ(A1))*24;0)/24

Как это работает:

  1. ЦЕЛОЕ(A1) — извлекает дату (целую часть).
  2. (A1-ЦЕЛОЕ(A1))*24 — выделяет время и переводит в часы.
  3. ОКРУГЛ(...,0)/24 — округляет часы и возвращает в формат времени.

Пример:

Исходные данныеРезультат
15.05.2026 15:4715.05.2026 16:00
31.12.2023 23:1531.12.2023 23:00
Что делать если формула возвращает ошибку #ЗНАЧ!?

Ошибка #ЗНАЧ! обычно означает, что Excel не распознаёт данные как время. Проверьте:

1. Формат ячейки (должен быть Время или Дата).

2. Нет ли в данных лишних символов (например, "~15:47" или "15:47 ").

3. Если время введено как текст, используйте =ВРЕМЗНАЧ(A1) для преобразования.

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

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

1. Результаты в формате даты (например, "01.01.1900")

  • 🔧 Причина: Excel интерпретирует число 0 или 1 как дату.
  • Решение: Примените формат Время к ячейке с результатом или используйте =ЕСЛИ(результат=0; ""; результат).

2. Неправильное округление для времени > 24 часов

Если в ячейке указано 27:30 (24-часовой формат), стандартные функции дадут ошибку. Используйте:

=ОКРУГЛ(A1*24;0)/24

и установите для ячейки формат [ч]:мм.

3. Округление не работает для текстовых данных

Если время введено как текст (например, "15 ч 30 м"), сначала преобразуйте его в числовой формат:

=ВРЕМЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ч ";":");" м";""))

FAQ: Ответы на частые вопросы

Можно ли округлить время до 15 или 30 минут вместо целого часа?

Да, для этого измените шаг округления в формулах:

  • 🕒 Для 15 минут: =ОКРУГЛ(A1*96;0)/96 (96 = 24 часа × 4 интервала).
  • 🕓 Для 30 минут: =ОКРУГЛ(A1*48;0)/48 (48 = 24 × 2).

Или используйте ПОЛУЧАС(A1; 0,5) для 30-минутных интервалов.

Почему моя формула возвращает #### вместо времени?

Это означает, что ширина столбца недостаточна для отображения времени в выбранном формате. Расширьте столбец или измените формат на более компактный (например, 13:30 вместо 1:30 PM).

Также проверьте, не является ли результат отрицательным временем (например, при вычитании большего времени из меньшего). В этом случае используйте =ЕСЛИ(результат<0; 0; результат).

Как округлить время в Power Query?

В Power Query (инструмент для импорта и преобразования данных) используйте следующий код на языке M:

= Table.AddColumn(#"Previous Step", "Округлённое время",

each DateTime.From(DateTimeZone.From([Ваша_колонка]).StartOfHour() + #duration(0, 0, 30, 0)))

Эта формула округляет время до ближайшего часа с учётом 30-минутного порога (аналог ПОЛУЧАС).

Можно ли округлить время без формул?

Да, но с ограничениями:

  1. Выделите ячейки с временем.
  2. Перейдите в Главная → Формат → Формат ячеек.
  3. Выберите формат Время и укажите тип 13:00 (без минут).

⚠️ Важно: Это только скроет минуты при отображении, но не изменит фактическое значение в ячейке. Для реального округления формулы обязательны.

Как округлить время в Google Таблицах?

В Google Sheets работают те же функции, но с небольшими отличиями:

  • 📌 Для округления вниз: =FLOOR(A1*24)/24 (аналог ЦЕЛОЕ).
  • 📌 Для округления вверх: =CEILING(A1*24)/24.
  • 📌 Для округления до ближайшего часа: =MROUND(A1; 1/24).

Функция ПОЛУЧАС в Google Таблицах называется MROUND.