Удаление букв в Excel: все методы от простых до продвинутых

Если в ваших данных Excel буквы перемешаны с цифрами (например, А123Б45 или Прибыль: 5000 руб.), а вам нужны только числовые значения, стандартные функции вроде ЗАМЕНИТЬ() или ручное редактирование отнимут часы. Проблема усугубляется, когда речь идет о тысячах строк: даже простая замена символов вручную приводит к ошибкам в 30% случаев. На практике 9 из 10 пользователей не знают, что в Excel есть встроенные инструменты для автоматического извлечения чисел из текста — без формул и макросов.

Самый быстрый способ удалить все буквы — использовать комбинацию функций ПСТР() + ПОИСК() для извлечения цифр, но он работает только с фиксированными форматами. Для динамических данных (где буквы и цифры расположены хаотично) потребуется регулярные выражения через Power Query или VBA. В этой статье разберем все методы — от элементарных до профессиональных, с примерами для Excel 2010–2023 и Excel Online.

1. Удаление букв с помощью функции ЗАМЕНИТЬ()

Метод ЗАМЕНИТЬ() подходит, если известен полный список ненужных символов. Например, когда буквы в данных повторяются (ABC123, XYZ456). Формула последовательно заменяет каждую букву на пустую строку "".

Пример для ячейки A1 с текстом "Товар500штук":

=ЗАМЕНИТЬ(ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1; "Т"; ""); "о"; ""); "в"; "")

Недостаток: придется вручную перечислять все буквы. Для кириллицы это 33 символа, для латиницы — 26. Автоматизировать процесс поможет вложенная функция ПОДСТАВИТЬ() (см. следующий раздел).

  • ✅ Работает во всех версиях Excel
  • ✅ Не требует макросов
  • ❌ Трудоемко для длинных текстов
  • ❌ Не удаляет пробелы и знаки препинания

2. Автоматическая замена всех букв функцией ПОДСТАВИТЬ()

Функция ПОДСТАВИТЬ() удаляет все вхождения указанных символов за один шаг. Для удаления всех букв кириллицы используйте формулу с вложенными заменами:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;

"абвгдеёжзийклмнопрстуфхцчшщъыьэюя";

""); "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"; "")

Для латиницы:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "abcdefghijklmnopqrstuvwxyz"; ""); "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; "")

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

Исходный текст Формула Результат
Артикул: X789-Y =ПОДСТАВИТЬ(...) для кириллицы + латиницы 789
Прибыль 1500$ =ПОДСТАВИТЬ(A1; "Прибыль $"; "") 1500
Температура: -23°C =ПОДСТАВИТЬ(A1; "Температура: °C"; "") -23
📊 Какой метод удаления букв вы используете чаще?
Функции ЗАМЕНИТЬ/ПОДСТАВИТЬ
Power Query
VBA
Ручное редактирование

3. Извлечение чисел с помощью формул массива

Если буквы и цифры перемешаны хаотично (А1Б2В3), а нужно извлечь только цифры, используйте формулу массива:

=СЦЕПИТЬ(ЕСЛИ(ЕОШ(ЗНАЧЕН(ПСТР(A1;СТРОКА($A$1:$A$100);1)));"";ПСТР(A1;СТРОКА($A$1:$A$100);1)))

Введите формулу как CTRL+SHIFT+ENTER (в старых версиях Excel). Она проверяет каждый символ в ячейке и возвращает только цифры.

Для Excel 365 и 2021 подойдет более простая версия:

=СЦЕП(ФИЛЬТР(ПОСИМВ(A1); ЕЧИСЛО(ЗНАЧЕН(ПОСИМВ(A1)))))
⚠️ Внимание: Формулы массива значительно замедляют работу книги при обработке более 10 000 строк. Для больших данных используйте Power Query.

4. Удаление букв через Power Query (самый эффективный способ)

Power Query (вкладка ДанныеИз таблицы/диапазона) позволяет удалить все нечисловые символы за 3 клика:

  1. Выделите диапазон → ДанныеИз таблицы/диапазона.
  2. В редакторе Power Query выберите столбец → ПреобразоватьЗаменить значения.
  3. В поле Найти введите [A-Za-zА-Яа-я] (регулярное выражение для букв), в поле Заменить на оставьте пустым.
  4. Нажмите Закрыть и загрузить.

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

  • ✅ Обрабатывает миллионы строк без тормозов
  • ✅ Сохраняет форматирование чисел
  • ✅ Поддерживает регулярные выражения
  • ✅ Автоматически обновляется при изменении исходных данных
Регулярные выражения для Power Query

[^0-9] — удаляет всё, кроме цифр
[^0-9,-] — оставляет цифры и запятые (для дробных чисел)
[A-Za-z] — удаляет только латинские буквы

5. Удаление букв с помощью VBA (для опытных пользователей)

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

Sub RemoveLetters()

Dim rng As Range

Dim cell As Range

Dim i As Integer

Dim result As String

Set rng = Selection

For Each cell In rng

result = ""

For i = 1 To Len(cell.Value)

If IsNumeric(Mid(cell.Value, i, 1)) Then

result = result & Mid(cell.Value, i, 1)

End If

Next i

cell.Value = result

Next cell

End Sub

Как использовать:

  1. Нажмите ALT+F11ВставкаМодуль.
  2. Вставьте код выше.
  3. Выделите диапазон с данными → запустите макрос (ALT+F8RemoveLetters).
⚠️ Внимание: Макрос безвозвратно изменяет исходные данные. Создайте резервную копию файла перед запуском.

Сохранить файл как .xlsm (с поддержкой макросов)|Сделать резервную копию данных|Выделить только нужный диапазон|Отключить защиту листа (если есть)

-->

6. Удаление букв в Excel Online и мобильной версии

В Excel Online и мобильном приложении доступны только базовые функции. Чтобы удалить буквы:

  1. Используйте ЗАМЕНИТЬ() для посимвольной замены (см. раздел 1).
  2. Для извлечения чисел из текста типа "Цена: 1000 руб." примените:
    =ЗНАЧЕН(ПРАВСИМВ(A1; ДЛСТР(A1)-ПОИСК(";";ПОДСТАВИТЬ(A1; " "; ";"))+1))
  3. В мобильной версии Excel (Android/iOS) доступен Power Query только в подписке Microsoft 365.

Ограничения:

  • ❌ Нет поддержки формул массива (без CTRL+SHIFT+ENTER)
  • ❌ Нет VBA
  • ❌ Power Query работает только в браузере (не в мобильном приложении)

7. Частые ошибки и как их избежать

При удалении букв пользователи сталкиваются с типичными проблемами:

Ошибка Причина Решение
Формула возвращает #ЗНАЧ! В ячейке нет цифр Добавьте проверку ЕСЛИОШИБКА()
Удалены нужные символы (например, . в дробных числах) Неучтенные знаки в регулярном выражении Используйте [^0-9,.] вместо [^0-9]
Макрос не работает Отключены макросы в настройках безопасности ФайлПараметрыЦентр управления безопасностьюПараметры центра...Включить все макросы

Совет для новичков: Перед массовой обработкой протестируйте формулу на копии данных. Например, если в ячейке А123Б вы ожидаете получить 123, но формула возвращает А123, значит не учтена заглавная буква "А" в регулярном выражении.

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

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

Используйте в Power Query регулярное выражение [A-Za-zА-Яа-я] — оно удаляет только буквы. Или модифицируйте функцию ПОДСТАВИТЬ(), исключив пробелы из замены:

=ПОДСТАВИТЬ(A1; "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"; "")

Пробелы и запятые останутся нетронутыми.

Можно ли удалить буквы без формул, только через "Найти и заменить"?

Да, но это трудоемко. Откройте CTRL+H (Найти и заменить), в поле Найти введите поочередно каждую букву алфавита, в поле Заменить на оставьте пустым. Для кириллицы потребуется 66 операций (33 строчные + 33 заглавные).

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

Excel сохраняет формат ячейки. Чтобы преобразовать текстовые числа в числовой формат:

  1. Выделите диапазон с результатами.
  2. Нажмите CTRL+1 → выберите формат Числовой.
  3. Если слева остался зеленый треугольник (признак текста), используйте функцию ЗНАЧЕН():
=ЗНАЧЕН(B1)
Как удалить буквы в столбце, где данные в формате "10 кг", "15 шт" и т.д.?

Используйте комбинацию ЛЕВСИМВ() + ПОИСК():

=ЛЕВСИМВ(A1; ПОИСК(" "; A1)-1)

Для случаев, когда пробела нет (например, 10кг), подойдет:

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

Введите как формулу массива (CTRL+SHIFT+ENTER в Excel 2019 и старше).

Есть ли разница между удалением букв в Excel и Google Sheets?

Да, в Google Sheets:

  • Функция REGEXREPLACE() заменяет Power Query:
    =REGEXREPLACE(A1; "[A-Za-zА-Яа-я]"; "")
  • Нет VBA, но есть Apps Script для автоматизации.
  • Формулы массива работают без CTRL+SHIFT+ENTER.