Работа с числами в Microsoft Excel часто требует корректировки их отображения или реального значения. Возможно, вам нужно убрать лишние знаки после запятой, сократить длинные идентификаторы до последних 4 цифр или удалить префиксы в номерах телефонов. В этой статье разберём все способы обрезки чисел — от базового форматирования до продвинутых формул и макросов.
Многие пользователи путают визуальное округление (когда число отображается короче, но сохраняет полное значение) с реальным усечением (когда лишние цифры удаляются навсегда). Например, если в ячейке 123,45678, то форматирование до 2 знаков покажет 123,46, но при расчётах будет использоваться исходное значение. А вот функция =ОКРУГЛ() или текстовые формулы изменят само число. Разберёмся, когда и какой метод применять.
Проблема обрезки чисел особенно актуальна при работе с импортированными данными: номерами заказов, финансовыми отчётами или научными вычислениями. Ошибка в выборе метода может привести к искажению результатов — например, если вместо округления вы случайно преобразуете число в текст. Поэтому важно понимать разницу между инструментами и их последствиями.
В этой статье вы найдёте:
- 🔹 5 способов визуальной обрезки (без изменения значения)
- 🔹 3 метода реального усечения (с изменением данных)
- 🔹 Обработку специальных случаев: отрицательные числа, даты, научная нотация
- 🔹 Автоматизацию через Power Query и VBA
1. Форматирование ячеек: визуальная обрезка без изменения данных
Самый простой способ "обрезать" числа — изменить их формат отображения. Это не затрагивает реальное значение в ячейке, но позволяет показать только нужные цифры. Подходит для отчётов, где важна читаемость, но точные расчёты не требуются.
Чтобы изменить формат:
- Выделите ячейки с числами.
- Нажмите
Ctrl+1(или правой кнопкой →Формат ячеек). - Вкладка
Число→ выберите категорию (Числовой,Денежный,Процентныйи др.). - Укажите количество десятичных знаков (например,
2для отображения двух цифр после запятой).
Пример: число 1234,5678 при формате с 1 десятичным знаком будет отображаться как 1234,6, но в строке формул останется исходное значение. Это удобно для валютных данных или когда нужно скрыть "лишнюю точность" без потери информации.
⚠️ Внимание: Если после форматирования ячейка показывает #####, значит ширина столбца недостаточна. Растяните его или уменьшите размер шрифта.
Для научной нотации (например, 1,23E+10) используйте формат Экспоненциальный. А если нужно показать ведущие нули (например, в кодах 00123), выберите категорию Текстовый или создайте пользовательский формат:
00000
2. Функции округления: когда нужно изменить само значение
Если визуальной обрезки недостаточно и требуется изменить хранящееся значение, используйте функции округления. Они возвращают новое число, которое можно сохранить поверх исходного или использовать в расчётах.
Основные функции:
- 🔸
=ОКРУГЛ(число; кол_знаков)— стандартное округление (например,=ОКРУГЛ(3,14159; 2)→3,14). - 🔸
=ОКРУГЛВВЕРХ()и=ОКРУГЛВНИЗ()— округление в большую или меньшую сторону (=ОКРУГЛВВЕРХ(3,141; 1)→3,2). - 🔸
=ОКРУГЛТ()— округление до ближайшего кратного (полезно для цен с шагом 0,50). - 🔸
=ЦЕЛОЕ()— отбрасывает дробную часть (=ЦЕЛОЕ(5,99)→5).
Для обрезки до целого числа без округления используйте:
=ОТБР(число; кол_знаков)
Пример: =ОТБР(123,456; 1) вернёт 123,4 (в отличие от =ОКРУГЛ(), который даст 123,5).
⚠️ Внимание: Функции=ЦЕЛОЕ()и=ОТБР()работают по-разному с отрицательными числами. Например,=ЦЕЛОЕ(-3,7)→-4, а=ОТБР(-3,7; 0)→-3.
Убедиться, что данные не используются в других формулах|
Создать резервную копию листа|
Проверить влияние на итоговые расчёты|
Использовать =ОТБР() вместо =ОКРУГЛ(), если нужно просто усечь, а не округлить-->
3. Текстовые функции: обрезка цифр как строк
Когда числа хранятся как текст (или нужно удалить часть символов), пригодятся текстовые функции. Они позволяют извлечь подстроку, удалить лишние символы или заменить их.
Основные функции:
- 📌
=ЛЕВСИМВ(текст; кол_символов)— возвращает первыеNсимволов (=ЛЕВСИМВ("12345"; 3)→"123"). - 📌
=ПРАВСИМВ(текст; кол_символов)— последниеNсимволов (=ПРАВСИМВ("12345"; 2)→"45"). - 📌
=ПСТР(текст; нач_позиция; кол_символов)— извлекает фрагмент с указанной позиции (=ПСТР("12345"; 2; 3)→"234"). - 📌
=ЗАМЕНИТЬ(текст; старый_текст; новый_текст)— заменяет или удаляет символы (=ЗАМЕНИТЬ("123-456"; "-"; "")→"123456").
Пример: чтобы оставить только последние 4 цифры в номере телефона +7(912)345-67-89, используйте:
=ПРАВСИМВ(A1; 4)
Результат: 6789.
Если числа хранятся как текст, но нужно получить числовое значение, комбинируйте текстовые функции с =ЗНАЧЕН():
=ЗНАЧЕН(ЛЕВСИМВ("123,45руб"; 5))
Результат: 123,45 (число, а не текст).
Как определить, текст или число в ячейке?
Если данные выровнены по левому краю — это текст. По правому — число. Также проверьте с помощью функции =ТИП(A1): 1 — число, 2 — текст.
4. Обрезка с помощью Power Query: обработка больших данных
Для обработки тысяч строк удобнее использовать Power Query (вкладка Данные → Из таблицы/диапазона). Этот инструмент позволяет:
- 📊 Удалить столбцы с лишними цифрами.
- 📊 Разделить текст по разделителю (например, извлечь числа из строки
"Код: 12345"). - 📊 Применить преобразования ко всем данным сразу.
Пример: обрежем первые 2 цифры в столбце с кодами 123456 → 3456:
- Загрузите данные в Power Query.
- Выделите столбец →
Преобразовать→Извлечь→Текст после позиций. - Укажите
2(количество удаляемых символов). - Нажмите
Закрыть и загрузить.
Power Query сохраняет историю преобразований, поэтому при обновлении исходных данных изменения применятся автоматически. Это идеально для регулярных отчётов.
| Метод | Пример | Изменяет ли данные? | Подходит для больших данных? |
|---|---|---|---|
| Форматирование ячеек | 123,456 → 123,46 |
Нет | Да |
=ОКРУГЛ() |
123,456 → 123,46 |
Да | Да |
=ПРАВСИМВ() |
"12345" → "345" |
Да (в текст) | Нет |
| Power Query | 123456 → 3456 |
Да | Да |
5. Макросы VBA: автоматизация для повторяющихся задач
Если обрезка чисел — рутинная задача, запишите макрос или используйте готовый код. Например, этот скрипт удаляет все символы после запятой в выделенных ячейках:
Sub TrimDecimals()
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→ выберитеTrimDecimals→Run).
Для более сложных задач (например, обрезки по условию) модифицируйте код. Например, чтобы оставить только 3 последние цифры в каждом числе:
Sub KeepLastThreeDigits()
For Each cell In Selection
If IsNumeric(cell.Value) Then
cell.Value = Right(cell.Value, 3)
End If
Next cell
End Sub
⚠️ Внимание: Макросы изменяют данные необратимо. Перед запуском сохраните файл или создайте копию листа. Также убедитесь, что в настройках Excel разрешено выполнение макросов (Файл → Параметры → Центр управления безопасностью → Параметры центра → Включить все макросы).
6. Специальные случаи: даты, отрицательные числа, научная нотация
Некоторые форматы чисел требуют особого подхода. Рассмотрим типичные проблемы и решения:
1. Даты и время
Excel хранит даты как числа (например, 45000 = 11.01.2023). Если применить =ОКРУГЛ() к дате, она преобразуется в число дней. Чтобы обрезать время (оставить только дату), используйте:
=ЦЕЛОЕ(A1)
или форматируйте ячейку как Дата без отображения времени.
2. Отрицательные числа
Функции =ЦЕЛОЕ() и =ОТБР() работают с ними по-разному:
- 🔺
=ЦЕЛОЕ(-3,7)→-4(округление вниз). - 🔺
=ОТБР(-3,7; 0)→-3(простое усечение).
3. Научная нотация
Если число отображается как 1,23E+10, но нужно показать все цифры:
- Увеличьте ширину столбца.
- Используйте пользовательский формат
0(без десятичных знаков). - Или преобразуйте в текст:
=ТЕКСТ(A1; "0").
4. Номера телефонов и коды
Часто требуется удалить разделители или оставить только часть номера. Пример для +7 (912) 345-67-89 → 9123456789:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; " "; ""); "-"; ""); "("; ""); "+"; "")
7. Типичные ошибки и как их избежать
Даже опытные пользователи допускают ошибки при обрезке чисел. Вот самые распространённые:
1. Потеря точности при округлении
Если вы последовательно применяете округление к результатам предыдущих округлений, погрешность накапливается. Например:
=ОКРУГЛ(ОКРУГЛ(1,23456; 3); 2)
Сначала получим 1,235, затем 1,24. Если округлить сразу до 2 знаков: =ОКРУГЛ(1,23456; 2) → 1,23.
2. Преобразование чисел в текст
Функции вроде =ЛЕВСИМВ() возвращают текст, даже если исходное значение было числом. Это приведёт к ошибкам в формулах. Чтобы вернуть числовой формат, используйте =ЗНАЧЕН():
=ЗНАЧЕН(ЛЕВСИМВ("123,45"; 5))
3. Неучёт региональных настроек
В разных странах разные разделители целой и дробной части (запятая или точка). Если формулы не работают, проверьте настройки:
Файл → Параметры → Дополнительно.- Снимите галочку
Использовать системные разделителии укажите нужные символы.
4. Обрезка в формулах массива
Если применяете обрезку внутри {формулы массива} (вводимой через Ctrl+Shift+Enter), убедитесь, что результат имеет правильный формат. Например:
=ОТБР(А1:А10; 0)
может вернуть текст, если исходные данные смешанные.
⚠️ Внимание: При импорте данных из CSV или баз данных числа с ведущими нулями (например,00123) автоматически преобразуются в123. Чтобы сохранить нули, импортируйте столбец как текст или используйте пользовательский формат00000.
FAQ: Ответы на частые вопросы
Как обрезать число до запятой, оставив только целую часть?
Используйте функцию =ЦЕЛОЕ() или =ОТБР(число; 0). Например:
=ЦЕЛОЕ(123,456)
вернёт 123. Если нужно преобразовать в текст, оберните в =ТЕКСТ().
Можно ли обрезать числа в Excel Online?
Да, но с ограничениями:
- 📱 Доступны все функции (
=ОКРУГЛ(),=ЛЕВСИМВ()и др.). - 📱 Нет Power Query и макросов VBA.
- 📱 Форматирование ячеек работает так же, как в десктопной версии.
Для сложных задач используйте десктопный Excel или Power Automate.
Как удалить все цифры после запятой в выделенном диапазоне?
Самый быстрый способ:
- Выделите диапазон.
- Нажмите
Ctrl+H(замена). - В поле
Найтивведите.*(точка и звёздочка). - Поле
Заменить наоставьте пустым. - Нажмите
Заменить всё.
=ОТБР().
Почему после обрезки формулы перестали работать?
Скорее всего, вы преобразовали числа в текст. Проверьте:
- 🔍 Формат ячейки (должен быть
ОбщийилиЧисловой). - 🔍 Используйте
=ЗНАЧЕН(), чтобы вернуть числовой формат. - 🔍 Убедитесь, что в ячейках нет скрытых символов (пробелов, неразрывных пробелов).
Пример исправления: =ЗНАЧЕН(ПРАВСИМВ(A1; 4)).
Как обрезать числа в сводной таблице?
В сводных таблицах нельзя напрямую изменять данные, но можно:
- 📊 Отформатировать поле значений (правая кнопка →
Параметры поля значений→Числовой формат). - 📊 Добавить вычисляемое поле с функцией обрезки (
=ОТБР([Сумма продаж]; 0)). - 📊 Изменить исходные данные перед созданием сводной таблицы.