Работа с десятичными числами в Microsoft Excel часто требует округления или полного удаления дробной части. Например, при финансовых расчётах вам могут понадобиться только целые рубли, а в технических спецификациях — миллиметры без десятых долей. Но как правильно отбросить знаки после запятой, не искажая при этом исходные данные?
Многие пользователи ошибочно считают, что достаточно изменить формат ячейки — но это лишь визуальное решение. На самом деле число остаётся прежним, и при дальнейших вычислениях дробная часть всё равно будет учитываться. В этой статье мы разберём 5 надёжных методов: от простого форматирования до использования формул и макросов, а также расскажем, когда какой способ применять.
1. Форматирование ячеек: визуальное решение без изменения данных
Самый быстрый, но и самый "обманчивый" способ — изменить формат отображения числа. Это не удаляет дробную часть, а лишь скрывает её при выводе на экран. Подходит, если вам нужно временно упростить восприятие таблицы, но дальнейшие расчёты должны учитывать полные значения.
Чтобы применить форматирование:
- 📌 Выделите ячейки или диапазон с числами
- 🖱️ Нажмите правой кнопкой и выберите
Формат ячеек...(или используйте сочетаниеCtrl+1) - 📊 В разделе
Числовойвыберите форматЧисловойилиДенежный - 🔢 Установите
0десятичных знаков
Важная особенность: при таком подходе в строке формул (Fx) вы по-прежнему будете видеть полное число. Например, 5,78 после форматирования будет отображаться как 6, но в расчётах Excel использует исходное значение 5,78.
⚠️ Внимание: Если вы скопируете отформатированные ячейки в другой документ или экспортируете данные, дробная часть может снова стать видимой. Этот метод не подходит для окончательной обработки данных перед печатью или отправкой.
2. Функция ОТБР: округление вниз до целого числа
Для настоящего удаления дробной части (округления вниз) используйте функцию =ОТБР(). Она отсекает все знаки после запятой, оставляя только целую часть. Например, =ОТБР(7,99) вернёт 7, а =ОТБР(-3,2) — -4 (округление происходит к меньшему по модулю числу).
Синтаксис функции:
=ОТБР(число; [число_разрядов])
Где число_разрядов — опциональный параметр. Если его опустить или указать 0, функция вернёт целую часть. Для округления до десятых используйте 1, до сотых — 2 и т.д.
| Формула | Исходное число | Результат | Пояснение |
|---|---|---|---|
=ОТБР(5,78) |
5,78 | 5 | Округление вниз до целого |
=ОТБР(5,78;1) |
5,78 | 5,7 | Округление до десятых |
=ОТБР(-2,3) |
-2,3 | -3 | Округление отрицательных чисел |
Критическое отличие от функции ОКРУГЛ(): ОТБР всегда округляет вниз, тогда как ОКРУГЛ может округлять как вверх, так и вниз по правилам математики. Это важно для финансовых отчётов, где переоценка активов недопустима.
3. Функция ЦЕЛОЕ: альтернатива для положительных чисел
Функция =ЦЕЛОЕ() работает аналогично ОТБР, но имеет ключевое ограничение: она всегда округляет к нулю. Для положительных чисел результат совпадёт с ОТБР, но для отрицательных поведение будет иным:
- 🔹
=ЦЕЛОЕ(4,9)→4(как иОТБР) - 🔹
=ЦЕЛОЕ(-4,9)→-4(в отличие отОТБР, который вернёт-5)
Эту функцию удобно использовать, когда вы заранее знаете, что работаете только с положительными значениями (например, количество товаров или возраст клиентов). Синтаксис проще, чем у ОТБР:
=ЦЕЛОЕ(число)
Диапазон чисел положительный|Нет необходимости в округлении отрицательных значений|Требуется максимальная простота формулы|Дробная часть не критична для дальнейших расчётов-->
4. Преобразование в целое число через умножение и деление
Малоизвестный, но эффективный приём — использование математических операций для "обрезки" дробной части. Метод основан на том, что при делении целого числа на 1 дробная часть автоматически отбрасывается.
Алгоритм:
- Умножьте число на 10 в степени, равной количеству знаков после запятой (например, для
5,78используйте100) - Примените функцию
=ЦЕЛОЕ()к результату - Разделите полученное значение на тот же множитель
Пример для округления 5,789 до сотых:
=ЦЕЛОЕ(5,789*100)/100
Результат: 5,78 (вместо 5,79, которое вернула бы функция ОКРУГЛ).
⚠️ Внимание: Этот метод может давать неточные результаты при работе с очень большими числами (более 15 знаков) из-за особенностей представления чисел с плавающей запятой в Excel. Для финансовых расчётов лучше использовать ОТБР.
Почему не работает с отрицательными числами?
Этот метод всегда округляет к нулю, как и функция ЦЕЛОЕ. Например, для числа -3,7 формула =ЦЕЛОЕ(-3,7*10)/10 вернёт -3,6 вместо ожидаемого -3,8 (как сделала бы функция ОТБР).
5. Макросы VBA для массовой обработки
Если вам нужно отбросить дробную часть в сотнях или тысячах ячеек, ручное применение формул займёт слишком много времени. В этом случае поможет VBA-макрос. Ниже приведён код, который преобразует все выделенные ячейки, заменяя их значения на целые числа:
Sub ОтброситьДробнуюЧасть()
Dim cell As Range
For Each cell In Selection
If IsNumeric(cell.Value) Then
cell.Value = Int(cell.Value)
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA - Вставьте код в новый модуль (
Insert → Module) - Вернитесь в Excel, выделите нужный диапазон и запустите макрос через
Alt+F8
Преимущества метода:
- ⚡ Мгновенная обработка тысяч ячеек
- 🔄 Возможность отмены (если макрос запускается не из личной книги макросов)
- 📊 Сохраняет исходное форматирование ячеек
6. Проблемы и ошибки: что может пойти не так
Даже с простыми операциями округления в Excel возникают типичные ошибки. Рассмотрим самые распространённые:
| Проблема | Причина | Решение |
|---|---|---|
Формула возвращает #ЗНАЧ! |
В ячейке текст вместо числа | Используйте =ЕЧИСЛО() для проверки или =ЗНАЧЕН() для преобразования |
Результат не изменяется после применения ОТБР |
Ячейка отформатирована как текст | Измените формат на Общий или Числовой |
| Макрос не работает с отрицательными числами | Функция Int в VBA округляет к нулю |
Замените Int на Fix для другого поведения |
Ещё одна распространённая ловушка — автоматическое преобразование дат. Если в ячейке введено что-то вроде 12.05, Excel может интерпретировать это как 12 мая текущего года. Чтобы избежать путаницы:
- 📅 Всегда используйте разделитель
,для десятичных чисел (например,12,05) - 🔢 Или предваряйте ввод апострофом:
'12.05
FAQ: Ответы на частые вопросы
Можно ли отбросить знаки после запятой без формул?
Да, но только визуально — через форматирование ячеек (Ctrl+1 → 0 десятичных знаков). Однако это не изменит само значение, а лишь скрывает дробную часть при отображении. Для реального округления вниз обязательно используйте ОТБР или ЦЕЛОЕ.
Почему после применения ОТБР число не изменилось?
Скорее всего, ячейка имеет текстовый формат. Попробуйте:
- Выделите ячейку и нажмите
Ctrl+H(замена) - В поле "Найти" введите точку (если разделитель — запятая) или запятую (если разделитель — точка)
- В поле "Заменить на" введите противоположный символ
- Нажмите
Заменить всё
Если это не помогло, используйте функцию =ЗНАЧЕН() для принудительного преобразования текста в число.
Как отбросить знаки после запятой в Google Таблицах?
В Google Sheets используйте те же функции, но с английскими названиями:
=FLOOR(число)— аналогОТБР=INT(число)— аналогЦЕЛОЕ=ROUNDDOWN(число; 0)— округление вниз до целого
Также доступно меню форматирования (Формат → Числа → 0 десятичных знаков).
Можно ли вернуть дробную часть после применения ОТБР?
Нет, функция ОТБР (как и любая другая функция округления) необратимо изменяет данные. Если вам может понадобиться исходное значение,:
- Сохраните копию листа перед обработкой
- Используйте вспомогательный столбец с формулами, не переписывая исходные данные
- Примените
Специальную вставку → Значениятолько после окончательной проверки
Как отбросить знаки после запятой при импорте данных?
Если вы импортируете данные из CSV или другой программы, где числа имеют дробную часть, используйте Power Query:
- Перейдите на вкладку
Данные → Получить данные → Из файла - Загрузите файл и откройте редактор Power Query
- Выделите столбец с числами →
Преобразовать → Округлить → Вниз - Укажите количество десятичных знаков
0
Это гарантирует, что данные будут обработаны ещё до попадания в Excel.