Округление в меньшую сторону в Excel: от простых формул до продвинутых техник

Почему стандартное округление в Excel не всегда подходит

Вы когда-нибудь сталкивались с ситуацией, когда Excel округляет 2.99 до 3, хотя вам нужно именно 2? Стандартная функция ОКРУГЛ следует математическим правилам — и это создаёт проблемы в бухгалтерии, логистике или при расчёте скидок. Например, если вы рассчитываете количество коробок для упаковки 17.3 кг товара (вместимость коробки — 5 кг), то ОКРУГЛ(17.3/5; 0) даст 4 коробки, хотя на самом деле хватит и 3 (15 кг).

В этой статье разберём 7 способов, как заставить Excel округлять вниз — от элементарных функций до пользовательских решений для сложных задач. Вы узнаете:

  • 🔹 Как использовать ОТБР для округления до целого или заданного разряда
  • 🔹 Почему ЦЕЛОЕ иногда даёт неверный результат с отрицательными числами
  • 🔹 Как создать универсальную формулу для округления вниз до любого знака после запятой
  • 🔹 Продвинутые техники с ПОИСКПОЗ и массивами для нестандартных задач

Все примеры протестированы в Excel 2019–2023 и Excel Online. Если вы работаете в Google Таблицах, majority функций будут работать аналогично (за исключением макросов).

📊 Как часто вам нужно округлять числа в меньшую сторону?
Постоянно (бухгалтерия, логистика)
Иногда (отчёты, аналитика)
Рядом (1–2 раза в месяц)
Никогда не пользовался

Способ 1: Функция ОТБР — простое округление вниз

Функция ОТБР(число; количество_знаков) — самый надёжный инструмент для округления в меньшую сторону. В отличие от ОКРУГЛ, она всегда отсекает лишние знаки, не анализируя следующую цифру.

Примеры использования:

=ОТБР(5.78; 0)  → 5    (округление до целого)

=ОТБР(5.78; 1) → 5.7 (округление до 1 знака после запятой)

=ОТБР(-3.14; 0) → -4 (важно для отрицательных чисел!)

Особенности работы с ОТБР:

  • 📌 Если второй аргумент положительный — округление идёт до указанного количества знаков после запятой.
  • 📌 Если второй аргумент отрицательный — округление идёт до десятков, сотен и т.д. (например, ОТБР(124; -2) → 100).
  • 📌 Для отрицательных чисел результат может казаться нелогичным: ОТБР(-2.3; 0) = -3, потому что функция движется к нулю, а не к "минус бесконечности".
⚠️ Внимание: В Excel 2003 и более ранних версиях функция ОТБР могла давать сбой с очень большими числами (более 15 знаков). В современных версиях этой проблемы нет.

☑️ Проверка работы ОТБР

Выполнено: 0 / 4

Способ 2: Функция ЦЕЛОЕ — когда она работает корректно

Функция ЦЕЛОЕ(число) возвращает наибольшее целое число, не превышающее заданное. На первый взгляд, это то же самое, что ОТБР(число; 0), но есть критические различия:

ФункцияПримерРезультатКомментарий
ЦЕЛОЕ(3.7)3.73Работает как ожидается
ЦЕЛОЕ(-2.3)-2.3-3Округляет в сторону уменьшения (не к нулю!)
ОТБР(-2.3; 0)-2.3-2Округляет к нулю

Главный недостаток ЦЕЛОЕнепредсказуемое поведение с отрицательными числами. Если вам нужно всегда округлять к нулю (например, для расчёта количества полных упаковок), используйте ОТБР. Если же требуется округление в сторону "минус бесконечности" (например, для финансовых расчётов с долгами), ЦЕЛОЕ подойдёт лучше.

Пример применения в бухгалтерии:

=ЦЕЛОЕ(B2/1000)*1000  // Округление суммы до полных тысяч в меньшую сторону

Способ 3: Округление до заданного разряда (десятки, сотни, тысячи)

Часто требуется округлять не до целого, а до десятков, сотен или тысяч в меньшую сторону. Например, при расчёте минимального количества мест в зале (округление до 10) или партий товара (округление до 100).

Универсальная формула:

=ОТБР(число / разряд; 0) * разряд

Примеры:

  • 📦 Округление до 10: =ОТБР(17/10; 0)*10 → 10
  • 📦 Округление до 100: =ОТБР(124/100; 0)*100 → 100
  • 📦 Округление до 0.5: =ОТБР(3.7/0.5; 0)*0.5 → 3.5

Для отрицательных чисел формула работает аналогично, но результат зависит от знака разряд:

=ОТБР(-17/10; 0)*10 → -20  (округление в сторону "минус бесконечности")

=ОТБР(-17/-10; 0)*-10 → -10 (округление к нулю)

Почему нельзя использовать ОКРУГЛВНИЗ из надстройки "Анализ данных"

Функция ОКРУГЛВНИЗ (FLOOR) входит в пакет "Инструменты анализа", который по умолчанию отключён. Кроме того, она требует указания значимости (разряда), что не всегда удобно. Например, =ОКРУГЛВНИЗ(17; 10) → 10, но =ОКРУГЛВНИЗ(-17; 10) → -20, что может сбивать с толку.

Способ 4: Продвинутые техники с ПОИСКПОЗ и массивами

Если вам нужно округлять вниз до нестандартных значений (например, до ближайшего числа из списка или с шагом 0.25), стандартные функции не помогут. Здесь пригодятся:

4.1. Округление до ближайшего значения из списка

Допустим, у вас есть таблица допустимых весов упаковок: 0.5 кг, 1 кг, 2 кг, 5 кг. Нужно округлять любой вес в меньшую сторону до ближайшего значения из этого списка.

=ИНДЕКС(диапазон_весов; ПОИСКПОЗ(А1; диапазон_весов; 1))

Где А1 — вес товара, диапазон_весов — столбец с допустимыми значениями.

4.2. Округление с шагом 0.25 (для валют, тарифов)

Формула для округления до ближайшей четверти вниз:

=ОТБР(А1 * 4; 0) / 4

Примеры:

  • 💰 1.78 → 1.50
  • 💰 3.99 → 3.75
  • 💰 0.1 → 0.00
⚠️ Внимание: При работе с массивами в Excel 365 используйте ПОИСКПОЗ с функцией ФИЛЬТР для динамических диапазонов. В старых версиях это может вызвать ошибку #ЗНАЧ!.

Способ 5: Пользовательская функция VBA для гибкого округления

Если вам нужно округлять вниз с дополнительными условиями (например, только для положительных чисел или с логгированием), создайте собственную функцию на VBA:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте новый модуль: Insert → Module.
  3. Скопируйте код:
Function RoundDownCustom(num As Double, Optional decimals As Integer = 0) As Double

If decimals >= 0 Then

RoundDownCustom = Int(num * (10 ^ decimals)) / (10 ^ decimals)

Else

RoundDownCustom = Int(num / (10 ^ -decimals)) * (10 ^ -decimals)

End If

End Function

Теперь в Excel можно использовать:

=RoundDownCustom(A1; 2)  // Округление до 2 знаков после запятой

Преимущества этого метода:

  • 🔧 Работает с любым количеством знаков (включая отрицательные).
  • 🔧 Можно добавить проверку ошибок (например, для текста в ячейке).
  • 🔧 Легко модифицировать под специфические задачи (например, округление до ближайшего простого числа).

Способ 6: Округление дат и времени в меньшую сторону

Функции ОТБР и ЦЕЛОЕ работают не только с числами, но и с датами/временем, поскольку Excel хранит их как числовые значения. Например:

  • 📅 Округление даты до начала дня: =ЦЕЛОЕ(A1) (где A1 содержит дату).
  • ⏰ Округление времени до полного часа вниз: =ОТБР(A1*24; 0)/24.
  • 📆 Округление до начала месяца: =ДАТА(ГОД(A1); МЕСЯЦ(A1); 1).

Пример расчёта оплаты за неполный час работы (округление вниз до 15 минут):

=ОТБР((B2-A2)*24*4; 0)/4

Где A2 — время начала, B2 — время окончания.

⚠️ Внимание: При округлении времени в формате чч:мм:сс убедитесь, что ячейка имеет формат "Общий" или "Числовой", иначе Excel может интерпретировать значение как текст.

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

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

ОшибкаПричинаРешение
#ЗНАЧ! при использовании ОТБРЯчейка содержит текст или ошибкуДобавьте проверку: =ЕСЛИОШИБКА(ОТБР(A1; 0); 0)
Неверное округление отрицательных чиселПутаница между ОТБР и ЦЕЛОЕИспользуйте ОТБР для округления к нулю, ЦЕЛОЕ — в сторону "минус бесконечности"
Округление до неверного разрядаОтрицательный второй аргумент в ОТБРОТБР(124; -2) → 100 (округление до сотен)
Формула массива не работаетЗабыли подтвердить Ctrl+Shift+Enter в старых версиях ExcelВ Excel 365 используйте динамические массивы без CSE

Чтобы избежать ошибок, всегда тестируйте формулы на крайних значениях:

  • 🧪 Ноль: ОТБР(0; 0) → 0
  • 🧪 Очень большие числа: ОТБР(1E+15; 0) → 1E+15
  • 🧪 Отрицательные числа: ОТБР(-0.1; 0) → 0 (в отличие от ЦЕЛОЕ(-0.1) → -1)

FAQ: Частые вопросы по округлению в меньшую сторону

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

Нет, формат ячейки только изменяет отображение числа, но не его фактическое значение. Например, если установить формат с 0 знаков после запятой, число 5.78 будет отображаться как 6, но в расчётах по-прежнему будет использоваться 5.78. Для реального округления используйте формулы из этой статьи.

Почему ОТБР(-2.5; 0) даёт -2, а не -3?

Функция ОТБР округляет к нулю, а не к "минус бесконечности". Чтобы получить -3, используйте:

=ЕСЛИ(A1<0; ОТБР(A1; 0) - 1; ОТБР(A1; 0))

Или замените ОТБР на ЦЕЛОЕ.

Как округлять вниз только положительные числа в диапазоне?

Используйте условную функцию:

=ЕСЛИ(A1>0; ОТБР(A1; 0); A1)

Для обработки всего столбца за один раз (в Excel 365):

=ЕСЛИ(A1:A100>0; ОТБР(A1:A100; 0); A1:A100)
Есть ли разница между ОТБР и TRUNC в английской версии Excel?

Нет, TRUNC (англ.) и ОТБР (рус.) — это одна и та же функция. Синтаксис идентичен:

=TRUNC(5.78; 1)  // в английской версии

=ОТБР(5.78; 1) // в русской версии

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

В Google Sheets используйте те же функции:

  • =TRUNC(A1; 0) — аналог ОТБР
  • =FLOOR(A1; 1) — аналог ОКРУГЛВНИЗ (требует указания разряда)
  • =INT(A1) — аналог ЦЕЛОЕ

Обратите внимание: в Google Таблицах FLOOR всегда округляет в сторону "минус бесконечности", даже для положительных чисел.