Возникла задача удалить две последние цифры из чисел или текстовых строк в Microsoft Excel? Это типичная проблема при работе с большими массивами данных — будь то очистка номера телефона от последних разрядов, округление идентификаторов или подготовка отчетности. В этой статье мы разберем 5 проверенных способов, включая формулы, инструменты текстового форматирования и даже макросы для автоматизации. Каждый метод подходит для разных сценариев: от разовых правок до обработки тысяч строк.
Важно понимать, что подход зависит от формата исходных данных. Числа и текст обрабатываются по-разному: например, функция ЛЕВСИМВ не сработает с числовым значением без предварительного преобразования. Мы детально разберем нюансы, чтобы вы могли выбрать оптимальный вариант без ошибок. А для тех, кто работает с Excel Online или мобильной версией, укажем на ограничения и альтернативы.
1. Способ: Функция ЛЕВСИМВ для текстовых данных
Если ваши данные хранятся в текстовом формате (например, артикулы типа "AB12345" или номера документов), самый простой способ — использовать функцию ЛЕВСИМВ (или LEFT в английской версии). Она извлекает заданное количество символов с начала строки.
Формула для удаления двух последних цифр:
=ЛЕВСИМВ(A1;ДЛСТР(A1)-2)
Разберем на примере: если в ячейке A1 содержится значение "Партия789", формула вернет "Партия7". Обратите внимание, что ДЛСТР (аналог LEN) вычисляет общую длину строки, а мы отнимаем 2 символа, которые нужно убрать.
- ✅ Подходит для: текстовых строк с цифрами в конце
- ✅ Сохраняет: регистр и специальные символы
- ❌ Не работает: с числовыми данными без преобразования
2. Способ: Преобразование числа в текст + ЛЕВСИМВ
Частая ошибка новичков — попытка применить ЛЕВСИМВ к числу напрямую. Excel вернет ошибку #ЗНАЧ!, потому что функция работает только с текстовыми данными. Решение: сначала преобразовать число в текст с помощью ТЕКСТ (или TEXT).
Комбинированная формула:
=ЛЕВСИМВ(ТЕКСТ(A1;0);ДЛСТР(ТЕКСТ(A1;0))-2)
Здесь ТЕКСТ(A1;0) преобразует число в текстовый формат без десятичных знаков. Например, для значения 12345 в ячейке A1 результат будет "123". Если нужно сохранить число (а не текст), добавьте внешнюю функцию ЗНАЧЕН:
=ЗНАЧЕН(ЛЕВСИМВ(ТЕКСТ(A1;0);ДЛСТР(ТЕКСТ(A1;0))-2))
⚠️ Внимание: ФорматТЕКСТ(A1;0)округлит число до целого. Если в ячейке было12345.67, оно станет12346до обработки. Для сохранения дробной части используйте форматТЕКСТ(A1;"0.00")и корректируйте количество удаляемых символов.
3. Способ: Функции ЦЕЛОЕ и ОКРУГЛ для числовых данных
Если задача — убрать две последние цифры из числа (например, округлить 12345 до 12300), проще использовать математические функции. Варианты:
- 🔢
=ОКРУГЛ(A1;-2)— округление до сотен (для12345вернет12300) - 🔢
=ЦЕЛОЕ(A1/100)*100— отсечение до сотен (для12349вернет12300) - 🔢
=ОКРУГЛВНИЗ(A1;-2)— округление вниз до сотен (аналогЦЕЛОЕ)
Разница между методами проявляется при обработке отрицательных чисел или значений с дробной частью. Например:
| Исходное значение | ОКРУГЛ | ЦЕЛОЕ/100*100 | ОКРУГЛВНИЗ |
|---|---|---|---|
12345 | 12300 | 12300 | 12300 |
12349 | 12300 | 12300 | 12300 |
-12345 | -12300 | -12400 | -12400 |
12345.67 | 12300 | 12300 | 12300 |
4. Способ: Инструмент "Текст по столбцам"
Для разовых задач без формул удобно использовать встроенный инструмент Текст по столбцам (вкладка Данные). Этот метод подходит, если нужно физически изменить данные в ячейках, а не создать новый столбец с формулами.
Пошаговая инструкция:
- Выделите столбец с данными.
- Перейдите в
Данные → Текст по столбцам. - Выберите
С разделителями → Далее. - Снимите все галочки в разделе
Разделители(оставьте пустым). - Нажмите
Готово.
Теперь каждая цифра окажется в отдельной ячейке. Удалите два последних столбца с ненужными цифрами, а оставшиеся данные объедините функцией СЦЕПИТЬ или CONCATENATE.
Создайте резервную копию данных|Проверьте, нет ли пустых ячеек в столбце|Убедитесь, что справа достаточно свободных столбцов|Отмените объединение ячеек (если есть)
-->
⚠️ Внимание: Этот метод разрушает исходную структуру данных. Если в ячейках были формулы, они превратятся в значения. Также инструмент не работает с ячейками, содержащими более 255 символов.
5. Способ: Макрос VBA для массовой обработки
Для обработки тысяч строк или регулярных задач напишите простой макрос. Он удалит две последние цифры во всех выделенных ячейках, сохраняя исходный формат (число или текст).
Код макроса:
Sub УдалитьПоследниеДвеЦифры()
Dim cell As Range
For Each cell In Selection
If IsNumeric(cell.Value) Then
cell.Value = Int(cell.Value / 100) * 100
Else
cell.Value = Left(cell.Value, Len(cell.Value) - 2)
End If
Next cell
End Sub
Как использовать:
- Выделите диапазон ячеек.
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Запустите макрос клавишей
F5.
Как сохранить файл с макросами?
Файлы с макросами сохраняются в формате .xlsm (а не .xlsx). При первом сохранении выберите Тип файла: Книга Excel с поддержкой макросов (*.xlsm). В противном случае макрос будет утерян.
Макрос автоматически определяет формат ячейки: для чисел использует математическое округление, для текста — обрезку символов. Это избавляет от необходимости предварительно преобразовывать данные.
Сравнение методов: какой выбрать?
Выбор способа зависит от четырех факторов: формат данных, объем, необходимость сохранения формул и периодичность задачи. Сведем ключевые различия в таблицу:
| Метод | Тип данных | Сохраняет формулы | Автоматизация | Сложность |
|---|---|---|---|---|
ЛЕВСИМВ + ТЕКСТ | Числа/текст | Да (новый столбец) | Нет | Низкая |
ОКРУГЛ/ЦЕЛОЕ | Только числа | Да | Нет | Низкая |
| Текст по столбцам | Текст/числа | Нет | Нет | Средняя |
| Макрос VBA | Текст/числа | Нет (заменяет значения) | Да | Высокая |
Частые ошибки и как их избежать
Даже в простых операциях с Excel легко допустить ошибку. Рассмотрим типичные проблемы и решения:
- 🚫 Ошибка #ЗНАЧ! при использовании ЛЕВСИМВ: Убедитесь, что данные в текстовом формате. Преобразуйте их через
ТЕКСТили добавьте апостроф перед числом ('12345). - 🚫 Некорректное округление отрицательных чисел: Функции
ЦЕЛОЕиОКРУГЛВНИЗработают по-разному. Для отрицательных значений используйте=ОКРУГЛВВЕРХ(A1;-2), если нужно округлить к нулю. - 🚫 Потеря ведущих нулей: Если после обработки числа типа
0012345превращаются в123, предварительно отформатируйте ячейки как текст (Формат ячеек → Текстовый).
Еще одна распространенная ловушка — скрытые символы (пробелы, неразрывные пробелы, символы табуляции). Они увеличивают длину строки, из-за чего ЛЕВСИМВ может обрезать не те символы. Чтобы очистить данные, используйте:
=ПЕЧСИМВ(СЖПРОБЕЛЫ(A1))
FAQ: Ответы на популярные вопросы
Можно ли убрать две последние цифры без формул?
Да, используйте инструмент Текст по столбцам (раздел Данные). Он разобьет содержание ячеек по символам, после чего вы сможете удалить два последних столбца вручную. Подходит для одноразовых задач.
Почему после применения ЛЕВСИМВ результат отображается как дата?
Это происходит, если Excel интерпретирует обрезанный текст как дату (например, "12мар" становится 12-мар). Решение: предварительно отформатируйте ячейки как текст или добавьте апостроф перед формулой: = "'" & ЛЕВСИМВ(A1;ДЛСТР(A1)-2).
Как убрать две последние цифры в Google Таблицах?
В Google Sheets используйте аналогичные функции:
=LEFT(A1;LEN(A1)-2)— для текста;=ROUND(A1;-2)— для чисел.
Макросы VBA не поддерживаются, но можно написать скрипт на Google Apps Script.
Можно ли вернуть исходные данные после применения макроса?
Нет, макрос безвозвратно заменяет значения в ячейках. Всегда создавайте резервную копию данных перед запуском (Файл → Сохранить как) или используйте формулы в новом столбце.
Как обработать ячейки с разной длиной строк?
Формула =ЛЕВСИМВ(A1;ДЛСТР(A1)-2) автоматически адаптируется под длину строки. Если в некоторых ячейках меньше 2 символов, она вернет ошибку #ЗНАЧ!. Чтобы избежать этого, добавьте проверку:
=ЕСЛИ(ДЛСТР(A1)>2;ЛЕВСИМВ(A1;ДЛСТР(A1)-2);A1)