Работа с числами в Microsoft Excel часто требует их округления — особенно когда речь идет о финансовых расчетах, инвентаризации или статистике. Но что делать, если нужно округлить значение строго в большую сторону до целого числа, независимо от дробной части? Стандартное округление через ОКРУГЛ здесь не подойдет: оно follows правилам математического округления (0.5 и выше — вверх, ниже 0.5 — вниз).
В этой статье мы разберем все способы округления вверх до целых чисел в Excel, включая малоизвестные нюансы функций ОКРВВЕРХ, ОКРУГЛВВЕРХ и альтернативные методы. Вы узнаете, как избежать типичных ошибок, почему иногда формулы возвращают неожиданные результаты, и как адаптировать округление под специфические задачи — например, для отрицательных чисел или больших массивов данных.
Особое внимание уделим практическим примерам: от простого округления цены товара до сотен до сложных вложенных формул с условиями. А в конце статьи вас ждет сравнительная таблица всех методов с плюсами и минусами каждого — это поможет выбрать оптимальный вариант для вашей задачи.
Если вы когда-нибудь сталкивались с тем, что Excel "упрямо" округляет 3.2 до 3 вместо 4, или вам нужно гарантированно получить целое число для дальнейших вычислений — эта инструкция для вас.
1. Функция ОКРВВЕРХ: базовый метод округления вверх
Самый очевидный способ округлить число до целого в большую сторону — использовать функцию ОКРВВЕРХ (англ. CEILING в международной версии). Ее синтаксис прост:
=ОКРВВЕРХ(число; точность)
Где:
- 🔢 число — значение, которое нужно округлить (или ссылка на ячейку с ним).
- 🎯 точность — кратность округления. Для целых чисел всегда указываем
1.
Пример: если в ячейке A1 находится число 4.3, формула =ОКРВВЕРХ(A1; 1) вернет 5. Но здесь есть важный нюанс: функция округляет до ближайшего кратного указанной точности. Если точность равна 1, результат всегда будет целым числом.
Чтобы округлить отрицательное число в "математическом" смысле (в сторону уменьшения), придется использовать обходной путь — об этом расскажем в разделе про ОКРУГЛВВЕРХ.
2. ОКРУГЛВВЕРХ vs ОКРВВЕРХ: в чем разница?
Многие пользователи путают ОКРВВЕРХ и ОКРУГЛВВЕРХ (англ. ROUNDUP). Разница принципиальна:
- 🔄
ОКРВВЕРХокругляет до ближайшего кратного заданной точности (например, до 5, 10, 0.5). - ⬆️
ОКРУГЛВВЕРХвсегда округляет вверх до заданного количества десятичных знаков, независимо от кратности.
Для округления до целых чисел обе функции дадут одинаковый результат, если в ОКРУГЛВВЕРХ указать 0 десятичных знаков:
=ОКРУГЛВВЕРХ(3.14; 0) → 4
=ОКРУГЛВВЕРХ(-2.7; 0) → -3
Критичное отличие: ОКРУГЛВВЕРХ корректно обрабатывает отрицательные числа, округляя их в сторону уменьшения (например, -2.1 станет -3), тогда как ОКРВВЕРХ для отрицательных значений ведет себя как "округление к нулю".
3. Функция ЦЕЛОЕ: когда она пригодится
Функция ЦЕЛОЕ (англ. INT) отсекает дробную часть числа, оставляя только целую. На первый взгляд, она не подходит для округления вверх, но с небольшой хитростью ее можно адаптировать:
=ЦЕЛОЕ(число) + (число > ЦЕЛОЕ(число))
Как это работает:
- 🧮
ЦЕЛОЕ(число)возвращает целую часть (например, для4.9это4). - 🔄 Выражение
(число > ЦЕЛОЕ(число))проверяет, есть ли дробная часть. Если да — возвращаетИСТИНА(что в арифметических операциях равно1), если нет —ЛОЖЬ(0). - ➕ Складываем целую часть и результат проверки:
4 + 1 = 5.
Преимущество этого метода — он работает даже в очень старых версиях Excel (до 2003 года), где может не быть ОКРУГЛВВЕРХ. Однако для отрицательных чисел формулу придется модифицировать:
=ЦЕЛОЕ(число) - (число < ЦЕЛОЕ(число))
Почему ЦЕЛОЕ не всегда точна?
Функция ЦЕЛОЕ использует метод "усечения" (truncate), а не округления. Для положительных чисел это эквивалентно округлению вниз, но для отрицательных результат отличается: ЦЕЛОЕ(-3.7) вернет -4 (округление вниз), тогда как ОКРУГЛВНИЗ(-3.7; 0) даст -4, а ОКРВВЕРХ(-3.7; 1) — -3.
4. Округление с условиями: комбинация с ЕСЛИ
Иногда округление вверх нужно применять только при выполнении определенных условий. Например, округлить цену до рублей только если она превышает 1000, или привести вес товара к целым килограммам только для тяжелых позиций. Здесь поможет функция ЕСЛИ:
=ЕСЛИ(условие; ОКРУГЛВВЕРХ(число; 0); число)
Примеры:
- 💰 Округлить цену вверх, если она > 1000:
=ЕСЛИ(B2>1000; ОКРУГЛВВЕРХ(B2; 0); B2) - 📦 Округлить вес до целых кг только для товаров тяжелее 5 кг:
=ЕСЛИ(C2>5; ОКРУГЛВВЕРХ(C2; 0); C2)
Для более сложных условий можно использовать И/ИЛИ:
=ЕСЛИ(И(B2>100; B2<1000); ОКРУГЛВВЕРХ(B2; 0); B2)
1. Убедитесь, что условие покрывает все возможные случаи
2. Проверьте граничные значения (например, ровно 1000 в примере выше)
3. Используйте Формат ячеек для визуального выделения округленных чисел
4. Тестируйте формулу на отрицательных числах, если они возможны-->
5. Округление массивов и диапазонов
Если нужно округлить вверх целый столбец или строку, копировать формулу для каждой ячейки неэффективно. Вместо этого используйте массивные формулы или (в новых версиях Excel) динамические массивы.
Для Excel 365 и Excel 2021:
=ОКРУГЛВВЕРХ(A2:A100; 0)
Формула автоматически "прольется" на весь диапазон.
Для старых версий (Excel 2019 и ранее) придется вводить формулу как массивную (нажимаем Ctrl+Shift+Enter):
=ОКРУГЛВВЕРХ(A2:A100; 0)
После этого формула будет заключена в фигурные скобки {...}.
Остерегайтесь ошибки #ЗНАЧ! — она появится, если в диапазоне есть текстовые значения. Чтобы избежать этого, добавьте проверку:
=ЕСЛИОШИБКА(ОКРУГЛВВЕРХ(A2:A100; 0); "")
6. Типичные ошибки и как их избежать
Даже опытные пользователи Excel иногда сталкиваются с неожиданными результатами при округлении. Вот самые распространенные ловушки:
⚠️ Внимание: ФункцияОКРВВЕРХс точностью0(ноль) округлит число до ближайшего целого, но если число уже целое — оно останется без изменений. Например,=ОКРВВЕРХ(5; 1)вернет5, а не6. Чтобы гарантированно увеличить число на 1, используйте=ОКРВВЕРХ(число; 1) + (число = ЦЕЛОЕ(число)).
Другие распространенные ошибки:
- 🔴 Пустые ячейки: если в диапазоне есть пустые ячейки,
ОКРУГЛВВЕРХвернет0. Чтобы игнорировать их, используйте=ЕСЛИ(A1=""; ""; ОКРУГЛВВЕРХ(A1; 0)). - 🔴 Текст вместо чисел: если ячейка содержит текст (например, "N/A"), формула вернет ошибку. Решение — добавить проверку
ЕЧИСЛО:=ЕСЛИ(ЕЧИСЛО(A1); ОКРУГЛВВЕРХ(A1; 0); A1) - 🔴 Округление дат: функции округления работают и с датами (в Excel даты — это числа). Например,
=ОКРУГЛВВЕРХ(СЕГОДНЯ(); 0)округлит текущую дату до полночи следующего дня.
Еще один нюанс — погрешность вычислений с плавающей запятой. Иногда числа вроде 3.7 хранятся как 3.69999999999999, что приводит к неожиданным результатам округления. Чтобы избежать этого, используйте функцию ОКРУГЛТ для предварительного округления до нужного количества знаков:
=ОКРУГЛВВЕРХ(ОКРУГЛТ(A1; 2); 0)
7. Альтернативные методы: ПОТОЛОК и TRUNC
Помимо стандартных функций, в Excel есть менее известные, но полезные инструменты для работы с округлением:
- 🏗️
ПОТОЛОК(англ.CEILING.MATHв новых версиях): аналогичнаОКРВВЕРХ, но позволяет указать режим обработки отрицательных чисел. Синтаксис:=ПОТОЛОК(число; точность; [режим])Если
[режим]равен0или опущен, поведение как уОКРВВЕРХ. Если1— отрицательные числа округляются в сторону уменьшения (как в математике). - ✂️
ОТБР(англ.TRUNC): просто отбрасывает дробную часть, какЦЕЛОЕ, но работает с отрицательными числами иначе. Например,ОТБР(-3.7)вернет-3, аЦЕЛОЕ(-3.7)—-4.
Пример использования ПОТОЛОК для корректного округления отрицательных чисел:
=ПОТОЛОК(-2.3; 1; 1) → -3
Сравнительная таблица методов округления вверх
| Метод | Синтаксис | Пример (3.7) | Пример (-2.3) | Плюсы | Минусы |
|---|---|---|---|---|---|
ОКРВВЕРХ |
=ОКРВВЕРХ(число; 1) |
4 | -2 | Простота, совместимость со всеми версиями | Некорректно работает с отрицательными числами |
ОКРУГЛВВЕРХ |
=ОКРУГЛВВЕРХ(число; 0) |
4 | -3 | Корректно обрабатывает отрицательные числа | Нет в Excel 2003 и ранее |
ЦЕЛОЕ + условие |
=ЦЕЛОЕ(A1)+(A1>ЦЕЛОЕ(A1)) |
4 | -2* | Работает в старых версиях | Требует модификации для отрицательных чисел |
ПОТОЛОК |
=ПОТОЛОК(число; 1; 1) |
4 | -3 | Гибкость настройки для отрицательных чисел | Сложный синтаксис, нет в Excel 2010 и ранее |
* Для отрицательных чисел нужна модификация: =ЦЕЛОЕ(A1)-(A1<ЦЕЛОЕ(A1)).
FAQ: Ответы на частые вопросы
❓ Почему моя формула =ОКРВВЕРХ(5.0; 1) возвращает 5, а не 6?
Функция ОКРВВЕРХ округляет до ближайшего кратного указанной точности. Если число уже кратно точности (например, 5.0 кратно 1), оно не изменяется. Чтобы гарантированно увеличить число на 1, используйте:
=ОКРВВЕРХ(5.0; 1) + (5.0 = ЦЕЛОЕ(5.0))
❓ Как округлить время вверх до целых часов?
В Excel время хранится как дробная часть числа (где 1 = 24 часа). Чтобы округлить время в ячейке A1 до целых часов в большую сторону:
=ОКРУГЛВВЕРХ(A1*24; 0)/24
Формат ячейки после этого измените на время.
❓ Можно ли округлить вверх до десятков/сотен?
Да, просто измените параметр точности:
- До десятков:
=ОКРВВЕРХ(A1; 10) - До сотен:
=ОКРВВЕРХ(A1; 100)
Для ОКРУГЛВВЕРХ используйте отрицательное количество десятичных знаков:
=ОКРУГЛВВЕРХ(A1; -1) → до десятков
=ОКРУГЛВВЕРХ(A1; -2) → до сотен
❓ Почему после округления вверх сумма чисел не совпадает с суммой округленных чисел?
Это нормальное явление из-за погрешности округления. Например:
1.2 + 1.3 + 1.5 = 4.0
ОКРУГЛВВЕРХ(1.2) + ОКРУГЛВВЕРХ(1.3) + ОКРУГЛВВЕРХ(1.5) = 2 + 2 + 2 = 6
Если важно сохранить точную сумму, округляйте только финальный результат, а не промежуточные значения.
❓ Как округлить вверх до ближайшего кратного числа (например, до 5 или 10)?
Используйте ОКРВВЕРХ с нужной точностью:
=ОКРВВЕРХ(A1; 5) → до ближайшего кратного 5
=ОКРВВЕРХ(A1; 0.1) → до ближайшего кратного 0.1 (одна десятая)
Для округления вверх до ближайшего четного или нечетного числа потребуются более сложные формулы с ЕСЛИ и ОСТАТ.