Как убрать буквы после цифр в Excel: от простых формул до Power Query

Вы когда-нибудь сталкивались с ситуацией, когда в ячейках Excel хранятся данные в формате «123кг», «456руб» или «789A» — и нужно извлечь только цифровую часть? Такие «гибридные» значения мешают сортировке, фильтрации и математическим расчётам. В этой статье разберём 7 проверенных способов, как отделить числа от букв в Excel — от элементарных функций до автоматизации через Power Query и VBA.

Проблема возникает чаще, чем кажется: при импорте данных из , выгрузке отчётов из CRM, или даже при ручном вводе, когда пользователи добавляют единицы измерения прямо к числу. Мы не будем ограничиваться шаблонными советами — вместо этого покажем, как адаптировать каждый метод под конкретные форматы данных, избегая типичных ошибок (например, когда функция ЗНАЧЕН возвращает #ЗНАЧ!).

1. Почему стандартные функции Excel не всегда работают

На первый взгляд, задача кажется простой: взять строку «150м²»** и оставить только 150. Но стандартные функции вроде ЗНАЧЕН или -- (двойное отрицание) отказываются работать, если после цифр идут буквы. Почему?

Excel воспринимает такие ячейки как текст, а не как числа. Даже если вы примените формат Общий или Числовой, программа не сможет автоматически «вырезать» лишние символы. Более того, некоторые методы (например, ПОИСК + ЛЕВСИМВ) дадут сбой, если буквы стоят перед цифрами, а не после.

  • 🔹 Ошибка #1: Функция ЗНАЧЕН("100р") вернёт #ЗНАЧ!, потому что текст не может быть преобразован в число.
  • 🔹 Ошибка #2: Формула =--ЛЕВСИМВ(A1;3) обрежет всегда 3 символа, даже если число длиннее (например, «12345кг»**123).
  • 🔹 Ошибка #3: НАЙТИ не найдёт букву, если она кириллическая, а вы ищете латиницу (и наоборот).

Прежде чем выбирать метод, определите структуру ваших данных:

Тип данныхПримерПодходящий метод
Цифры + буквы в конце100р, 50kgФормулы с ЛЕВСИМВ + ПОИСК
Буквы + цифры + буквыАртикул123АPower Query или VBA
Цифры с разделителями1,500.00$ПОДСТАВИТЬ + ЗНАЧЕН
Случайные символы#100!, 50%offРегулярные выражения (VBA)
📊 Как часто вам приходится очищать данные в Excel?
Ежедневно
Раз в неделю
Редко
Никогда

2. Метод 1: Формулы с ЛЕВСИМВ и ПОИСК (для чисел в начале строки)

Если цифры стоят в начале ячейки, а буквы — в конце (например, «250г»), самый простой способ — извлечь числовую часть с помощью комбинации ЛЕВСИМВ и ПОИСК.

Формула выглядит так:

=--ЛЕВСИМВ(A1; ПОИСК(МИН(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1);""));A1)-1)

Разберём по шагам:

  1. Функция НАЙТИ({0;1;...;9};A1) ищет позицию первой цифры в ячейке. Если цифр нет, возвращает ошибку.
  2. ЕСЛИОШИБКА заменяет ошибки на пустые строки, а МИН находит минимальную позицию (т.е. самую первую цифру).
  3. ПОИСК определяет позицию первого нецифрового символа после чисел.
  4. ЛЕВСИМВ обрезает строку до этой позиции, а -- преобразует результат в число.

Ячейка содержит цифры в начале|Буквы стоят только в конце|Нет пробелов между цифрами и буквами|Данные в одном формате (например, всегда "100р", а не "100 р.")-->

Пример: Для ячейки «150м²» формула вернёт 150. Но если в ячейке «м²150», результат будет 0 (ошибка!).

⚠️ Внимание: Эта формула не работает, если между цифрами и буквами есть пробел (например, «150 м²»**). В таком случае используйте ПОДСТАВИТЬ(A1;" ";"") для удаления пробелов.

3. Метод 2: Функция ЗНАЧЕН с предварительной очисткой

Если буквы после цифр — это единицы измерения (например, «$», «€», «р»), можно удалить их с помощью ПОДСТАВИТЬ, а затем применить ЗНАЧЕН:

=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"р";"");"$";"");"€";""))

Этот метод подходит для фиксированного набора символов. Если единиц измерения много, формула станет громоздкой. Альтернатива — использовать Power Query (см. метод 5).

  • ✅ Плюсы: Простота, работает в любых версиях Excel.
  • ❌ Минусы: Не универсален — нужно заранее знать, какие символы удалять.

Пример: Для ячейки «$19.99»** формула =ЗНАЧЕН(ПОДСТАВИТЬ(A1;"$";"")) вернёт 19.99.

4. Метод 3: Power Query — универсальное решение для больших данных

Если данных много (тысячи строк), а форматы разнообразные, Power Query (доступен в Excel 2016+) справится лучше формул. Алгоритм:

  1. Выделите диапазон → Данные → Из таблицы/диапазона (Excel создаст таблицу, если её нет).
  2. В редакторе Power Query выделите столбец → Преобразовать → Извлечь → Текст до делителя.
  3. В качестве делителя укажите первую букву (например, «р» для «100р»).
  4. Нажмите Закрыть и загрузить.

Для сложных случаев (например, «100р50к»**) используйте язык M:

= Table.AddColumn(#"Предыдущий шаг", "Число", each Text.BeforeDelimiter([Столбец1], {"а","б","в"...,"я","a","b","c"...,"z"}))
  • ✅ Плюсы: Обрабатывает миллионы строк, сохраняет шаги для повторного использования.
  • ❌ Минусы: Требует Excel 2016+ или надстройки Power Query для старых версий.
Как автоматизировать обновление данных в Power Query?

Создайте связь с источником (например, файлом или папкой), а затем настройте Обновить все по расписанию. Для этого перейдите в Данные → Обновить все → Свойства связи и установите флажок Обновлять каждые X минут.

5. Метод 4: Регулярные выражения через VBA (для опытных пользователей)

Если вам нужно удалить любые нецифровые символы (включая буквы, знаки препинания, пробелы), регулярные выражения в VBA — самый мощный инструмент. Скопируйте этот код в редактор VBA (Alt + F11):

Function ExtractNumbers(rng As Range) As Double

Dim regEx As Object

Set regEx = CreateObject("VBScript.RegExp")

regEx.Global = True

regEx.Pattern = "[^0-9.,-]" ' Удаляет всё, кроме цифр, запятых, точек и минуса

ExtractNumbers = Val(regEx.Replace(rng.Value, ""))

End Function

Теперь в Excel используйте формулу как обычно: =ExtractNumbers(A1).

  • 🔹 Что удаляет: Все символы, кроме 0-9, ., ,, -.
  • 🔹 Пример: «-1,500.00$»**-1500.00.
  • 🔹 Ограничение: Не работает с дробными числами, где разделитель — запятая в русской локали (нужно заменить Val на CDbl с учётом региональных настроек).
⚠️ Внимание: Перед использованием VBA сохраните файл как .xlsm (с поддержкой макросов). В противном случае код не будет работать, а Excel выдаст предупреждение о безопасности.

6. Метод 5: Текст по столбцам (для простых разделителей)

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

  1. Выделите диапазон → Данные → Текст по столбцам.
  2. Выберите С разделителями → укажите символ-разделитель (например, пробел).
  3. На шаге Формат данных столбца выберите Общий для столбца с цифрами.

Этот метод подходит для форматов вроде «100 кг» или «50-руб», но не сработает, если разделителя нет (например, «100кг»**).

7. Метод 6: Функция ПСТР с поиском цифр (для сложных форматов)

Если цифры «заперты» между буквами (например, «Артикул123А»**), используйте комбинацию ПСТР, НАЙТИ и ПОИСК:

=--ПСТР(A1; МИН(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1);"")); ПОИСК(МАКС(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1;МИН(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1);""))+1);""));1)-МИН(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1);"")))

Эта формула:

  1. Находит позицию первой цифры.
  2. Находит позицию последней цифры.
  3. Извлекает подстроку между ними.

Важно: Формула работает только в Excel 365 и 2019 (из-за динамических массивов). Для старых версий используйте VBA или Power Query.

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

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

ОшибкаПричинаРешение
Формула возвращает #ЗНАЧ!В ячейке нет цифрДобавьте проверку ЕСЛИОШИБКА
Число обрезается (например, 12345123)Фиксированная длина в ЛЕВСИМВИспользуйте динамический поиск позиции
Не удаляются кириллические буквыНАЙТИ ищет только латиницуДобавьте кириллические символы в массив поиска
Дробные числа становятся целыми-- или ЗНАЧЕН округляетИспользуйте ЗНАЧЕН(ПОДСТАВИТЬ(A1;",";".")) для русской локали

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

FAQ: Ответы на частые вопросы

Можно ли удалить буквы после цифр без формул?

Да, с помощью Текст по столбцам (метод 6) или Power Query (метод 4). Оба способа не требуют знания формул, но изменяют исходные данные.

Почему после применения формулы числа отображаются как даты?

Excel автоматически преобразует числа в формат Дата, если они похожи на даты (например, 1-121 дек). Чтобы исправить, примените формат Общий или Числовой к ячейкам.

Как удалить буквы перед цифрами (например, «кг100»)?

Используйте формулу с ПРАВСИМВ и ПОИСК:

=--ПРАВСИМВ(A1; ДЛСТР(A1)-ПОИСК(МАКС(ЕСЛИОШИБКА(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1);""));A1)+1)

Или воспользуйтесь Power Query с извлечением текста после делителя.

Работают ли эти методы в Google Таблицах?

Да, но с поправками:

  • Замените ; на , в формулах.
  • Вместо ЛЕВСИМВ используйте LEFT, вместо ПОИСКSEARCH.
  • Power Query в Google Таблицах отсутствует, но есть аналогичный инструмент Apps Script.

Как автоматизировать очистку для новых данных?

Создайте таблицу Excel (Ctrl + T), а затем:

  1. Добавьте столбец с формулой для извлечения чисел.
  2. Преобразуйте диапазон в умную таблицу.
  3. Формулы автоматически применятся к новым строкам.

Для полной автоматизации напишите макрос на VBA, который будет запускаться при открытии файла.