Округление чисел до кратных значений (5, 10, 100) — одна из самых востребованных операций в Microsoft Excel при работе с финансовыми отчётами, производственными нормами или логистическими расчётами. Например, цены в прайс-листах часто округляют до 5 или 10 рублей для удобства клиентов, а вес товаров — до ближайших 10 грамм для соответствия стандартам упаковки. Однако стандартные функции ОКРУГЛ или ОКРУГЛТ не всегда справляются с такой задачей: они ориентированы на десятичные разряды, а не на произвольные шаги.
В этой статье вы найдёте 5 проверенных способов округлить числа в Excel до 5 или 10 — от простых формул до универсальных решений для динамических таблиц. Мы разберём:
- 🔹 Как округлить вверх, вниз или до ближайшего кратного значения
- 🔹 Почему стандартное округление даёт ошибки с отрицательными числами
- 🔹 Как автоматизировать процесс для больших массивов данных
- 🔹 Примеры для цен, весов, объёмов и временных интервалов
Все формулы протестированы в Excel 2019–2026 и Excel Online, а также совместимы с Google Sheets (с учётом синтаксических особенностей). Если вы работаете с Power Query или BA, в конце статьи есть бонусный раздел с адаптацией методов для этих инструментов.
1. Стандартные функции Excel: почему они не подходят
На первый взгляд, для округления до 5 или 10 можно использовать знакомые функции:
- 📌
ОКРУГЛ(число; разряды)— округление по математическим правилам - 📌
ОКРУГЛВВЕРХ(число; разряды)— всегда в большую сторону - 📌
ОКРУГЛВНИЗ(число; разряды)— всегда в меньшую сторону
Однако у них есть критическая проблема: они работают с разрядами (десятые, сотые и т. д.), а не с шагом округления. Например, формула =ОКРУГЛ(12;1) вернёт 10 (округление до десятков), но не сможет округлить 12 до 10 или 15 по заданному шагу.
⚠️ Внимание: Если применитьОКРУГЛ(12;-1), результат будет10, но для числа13функция вернёт10(округление вниз), а не15(до ближайшего кратного 5). Это приводит к системным ошибкам в расчётах!
Кроме того, стандартные функции некорректно обрабатывают отрицательные числа. Например, =ОКРУГЛВВЕРХ(-12;-1) вернёт -20 вместо ожидаемого -10, что искажает финансовые отчёты с убытками.
2. Округление до 5: универсальная формула
Чтобы округлить число до ближайшего кратного 5, используйте комбинацию функций ОКРУГЛ и ОСТАТ (или МОД в новых версиях Excel):
=ОКРУГЛ(A1/5;0)*5
Эта формула работает по принципу:
- Делим число на 5 (например,
12/5 = 2,4). - Округляем результат до целого (
ОКРУГЛ(2,4;0) = 2). - Умножаем обратно на 5 (
2*5 = 10).
Для округления вверх замените ОКРУГЛ на ОКРУГЛВВЕРХ:
=ОКРУГЛВВЕРХ(A1/5;0)*5
А для округления вниз — на ОКРУГЛВНИЗ:
=ОКРУГЛВНИЗ(A1/5;0)*5
Тестовое число: 12 → результат 10
Тестовое число: 13 → результат 15
Тестовое число: -12 → результат -10 (если ОКРУГЛВВЕРХ)
Тестовое число: 0 → результат 0
-->
| Исходное число | Округление до 5 (ближайшее) | Округление вверх | Округление вниз |
|---|---|---|---|
| 7 | 5 | 10 | 5 |
| 12 | 10 | 15 | 10 |
| 17 | 15 | 20 | 15 |
| -8 | -10 | -5 | -10 |
⚠️ Внимание: При работе с денежными значениями (например, цены в рублях) всегда используйте округление вверх для чисел с копейками, чтобы избежать убытков. Формула=ОКРУГЛВВЕРХ(A1/5;0)*5гарантирует, что цена12,99 ₽будет округлена до15 ₽, а не до10 ₽.
3. Округление до 10: простой и надёжный способ
Для округления до 10 принцип аналогичен, но вместо деления на 5 используем 10:
=ОКРУГЛ(A1/10;0)*10
Примеры:
- 🔢
12 → 10 - 🔢
15 → 20(округление до ближайшего кратного) - 🔢
-12 → -10
Если нужно всегда округлять в большую сторону (например, для расчёта количества упаковок), используйте:
=ОКРУГЛВВЕРХ(A1/10;0)*10
Для логистики или производственных норм, где недопустимо превышение (например, вес груза), подойдёт округление вниз:
=ОКРУГЛВНИЗ(A1/10;0)*10
4. Альтернативные методы: функции ОСТАТ и ЦЕЛОЕ
Если вам нужно математически точное округление (например, для бухгалтерских отчётов), используйте комбинацию ОСТАТ и ЦЕЛОЕ:
Для округления до 5:
=ЦЕЛОЕ(A1/5)*5 + ЕСЛИ(ОСТАТ(A1;5)>=2,5; 5; 0)
Эта формула:
- Делит число на 5 и берёт целую часть (
ЦЕЛОЕ(12/5) = 2). - Умножает на 5 (
2*5 = 10). - Добавляет 5, если остаток от деления ≥ 2.5 (
ОСТАТ(12;5) = 2→ не добавляет).
Для округления до 10 замените все 5 на 10 и пороговое значение с 2,5 на 5:
=ЦЕЛОЕ(A1/10)*10 + ЕСЛИ(ОСТАТ(A1;10)>=5; 10; 0)
⚠️ Внимание: Этот метод единственный корректно обрабатывает отрицательные числа без дополнительных условий. Например, для-12формула вернёт-10, а не-20, как стандартноеОКРУГЛВВЕРХ.
5. Округление для диапазонов и массивов
Если нужно округлить целый столбец или строку, используйте динамические массивы (доступны в Excel 365 и Excel 2021):
=ОКРУГЛ(A1:A100/5;0)*5
Эта формула автоматически заполнит все ячейки результатами, без необходимости протягивать её вниз. Для старых версий Excel используйте:
- Введите формулу в первую ячейку (например,
B1). - Протяните маркер автозаполнения до конца диапазона.
- Или скопируйте формулу и вставьте как
Значения(правый клик →Специальная вставка → Значения).
Для условного округления (например, только для чисел > 100) добавьте функцию ЕСЛИ:
=ЕСЛИ(A1>100; ОКРУГЛ(A1/10;0)*10; A1)
Как округлить только видимые ячейки после фильтра?
1. Примените фильтр к данным.
2. Выделите диапазон с формулами.
3. Нажмите F5 → Выделить → Только видимые ячейки.
4. Скопируйте (Ctrl+C) и вставьте как значения (Ctrl+Shift+V → Значения).
6. Округление времени и дат до 5/10 минут
Аналогичные принципы работают для временных интервалов. Например, чтобы округлить время до ближайших 5 минут:
=ОКРУГЛ(A1*"24*60"/5;0)*5/(24*60)
Где:
- 🕒
A1— ячейка с временем (например,12:17). - 🕒
24*60— перевод времени в минуты. - 🕒 Деление на 5 и умножение обратно преобразует минуты в 5-минутные интервалы.
Примеры:
- 🕒
12:17 → 12:15 - 🕒
12:18 → 12:20 - 🕒
12:22 → 12:20
Для округления до 10 минут замените все 5 на 10.
7. Продвинутые сценарии: Power Query и VBA
Если вы работаете с большими объёмами данных (например, импорт из 1С или CRM), удобнее использовать Power Query. Чтобы округлить столбец до 5:
- Загрузите данные в
Power Query(Данные → Получить данные). - Выделите столбец и выберите
Преобразовать → Стандартный → Округлить. - В ручном режиме замените формулу столбца на:
= Table.ReplaceValue(Источник, each [Столбец], each Number.Round([Столбец]/5)*5, Replacer.ReplaceValue, {"Столбец"})
Для VBA используйте следующий макрос:
Sub RoundTo5()
Dim rng As Range
For Each rng In Selection
rng.Value = WorksheetFunction.Round(rng.Value / 5, 0) * 5
Next rng
End Sub
Чтобы запустить макрос:
- Нажмите
Alt+F11для открытия редактора VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите ячейки и запустите макрос (
F5).
FAQ: Частые вопросы по округлению в Excel
❓ Почему формула =ОКРУГЛ(12/5;0)*5 возвращает 10, а не 15?
Функция ОКРУГЛ округляет 12/5 = 2,4 до 2 (по правилам математического округления: если дробная часть < 0,5 — вниз). Чтобы всегда округлять вверх, используйте ОКРУГЛВВЕРХ.
❓ Как округлить до 5 только положительные числа, а отрицательные оставить без изменений?
Используйте формулу с условием:
=ЕСЛИ(A1>0; ОКРУГЛ(A1/5;0)*5; A1)
❓ Можно ли округлить числа в Excel до 5, но с сохранением двух знаков после запятой?
Да, сначала округлите до кратного 5, затем добавьте десятичные знаки:
=ОКРУГЛ(ОКРУГЛ(A1/5;0)*5; 2)
Пример: 12,345 → 10,00, 17,89 → 15,00.
❓ Почему при округлении до 10 числа 95 становится 100, а не 90?
Это особенность функции ОКРУГЛ: она округляет 95/10 = 9,5 до 10 (поскольку дробная часть = 0,5, а правило округления — "вверх при 0,5"). Чтобы всегда округлять вниз, используйте ОКРУГЛВНИЗ(A1/10;0)*10.
❓ Как округлить до 5 только числа, кратные 10?
Добавьте проверку на кратность:
=ЕСЛИ(ОСТАТ(A1;10)=0; ОКРУГЛ(A1/5;0)*5; A1)