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

Лишние пробелы, дефисы, кавычки или цифры в ячейках Excel искажают данные, мешают сортировке и нарушают работу формул. Например, при импорте данных из CSV часто появляются неразрывные пробелы ( ), которые не видны, но блокируют функцию СЧЁТЕСЛИ. Или в столбце с телефонами остаются скобки и тире после копирования из веб-формы. Такие символы нужно удалять — и делать это эффективно, не перебивая данные вручную.

В этой статье разберём 7 способов очистки ячеек: от простых (замена через Ctrl+H) до продвинутых (регулярные выражения в Power Query). Вы узнаете, как убрать все пробелы сразу, оставить только цифры в тексте, или удалить символы по шаблону (например, первые 3 знака). Каждый метод проиллюстрирован скриншотами и примерами формул — вы сможете применить их к своим данным без ошибок.

1. Быстрая замена символов через Найти и заменить (Ctrl+H)

Самый универсальный способ для удаления одиночных символов или их комбинаций — инструмент Найти и заменить. Он работает во всех версиях Excel (включая Excel 2010 и Excel 365) и не требует знания формул. Подходит для:

  • 📌 Удаления конкретного знака (например, #, $, %)
  • 📌 Массового удаления пробелов (включая неразрывные)
  • 📌 Замены нескольких символов на один (например, ---)

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

  1. Выделите диапазон ячеек (например, A1:A100).
  2. Нажмите Ctrl+H или перейдите на вкладку ГлавнаяНайти и выделитьЗаменить.
  3. В поле Найти введите символ для удаления (например, ;). Поле Заменить на оставьте пустым.
  4. Нажмите Заменить все.

Ограничения метода:

  • ❌ Не работает для удаления диапазона символов (например, "первые 2 буквы").
  • ❌ Нельзя удалить символы по условию (например, "все цифры после буквы А").

2. Удаление пробелов функциями СЖПРОБЕЛЫ, ПЕЧСИМВ и ЗАМЕНИТЬ

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

ФункцияНазначениеПримерРезультат
СЖПРОБЕЛЫУдаляет все пробелы, кроме одиночных между словами=СЖПРОБЕЛЫ(" Привет мир ")Привет мир
ПЕЧСИМВУбирает все пробелы (включая между словами)=ПЕЧСИМВ(A1; " ")Приветмир
ЗАМЕНИТЬЗаменяет конкретный символ на пустоту=ЗАМЕНИТЬ(A1; "-"; "")89123456789 (из 8-912-345-67-89)

Как применить:

  1. В пустой столбец рядом с исходными данными введите формулу (например, =СЖПРОБЕЛЫ(A1)).
  2. Протяните формулу вниз до конца диапазона.
  3. Скопируйте результаты (Ctrl+C) и вставьте как Значения (ПКМСпециальная вставкаЗначения) поверх исходных данных.
Как удалить пробелы в начале/конце ячейки без формул

В Excel 2016+ есть встроенная функция ТРИМ (аналог СЖПРОБЕЛЫ). Выделите диапазон → вкладка ДанныеТекст по столбцам → на 3-м шаге выберите Пропустить и отметьте Удалить ведущие пробелы.

⚠️ Внимание: Функция ПЕЧСИМВ удаляет все указанные символы. Если нужно оставить пробелы между словами, используйте СЖПРОБЕЛЫ или комбинацию =ЗАМЕНИТЬ(СЖПРОБЕЛЫ(A1); " "; "") для полного удаления.

3. Удаление символов по позиции: ЛЕВСИМВ, ПРАВСИМВ, ПСТР

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

  • 📍 ЛЕВСИМВ — удаляет N символов слева.
  • 📍 ПРАВСИМВ — удаляет N символов справа.
  • 📍 ПСТР — извлекает фрагмент текста по заданным позициям.

Примеры:

=ПРАВСИМВ(A1; 4)  // Удаляет последние 4 символа (например, ".xlsx" → "файл")

=ЛЕВСИМВ(A1; 3) // Убирает первые 3 символа (например, "123Александр" → "Александр")

=ПСТР(A1; 4; 10) // Возвращает 10 символов, начиная с 4-го

Для удаления всех символов до/после определённого знака комбинируйте ПСТР с НАЙТИ:

=ПСТР(A1; НАЙТИ("@"; A1)+1; 99)  // Удаляет всё до "@" (например, "user@gmail.com" → "gmail.com")

Убедитесь, что длина текста в ячейках одинаковая|Проверьте, нет ли в данных пустых ячеек|Сохраните резервную копию файла перед массовыми изменениями|Тестируйте формулы на копии данных, а не в оригинале-->

4. Удаление всех нецифровых символов (оставить только числа)

Частая задача — оставить в ячейке только цифры, удалив буквы, знаки и пробелы. Например, привести телефон +7 (912) 345-67-89 к виду 79123456789. Для этого есть 3 способа:

Способ 1: Формула с ПЕЧСИМВ и ПОДСТАВИТЬ

Универсальный метод для Excel 2013+:

=--ПЕЧСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1; "("; ""); ")"; ""); "-"; ""); " "; ""); "+"; ""); "."; ""); ","; ""); "/"; ""); "\"; ""); "*"; ""); "_"; ""))

Формула последовательно удаляет все нецифровые символы. Двойной минус (--) преобразует результат в число.

Способ 2: Power Query (Excel 2016+)

Более надёжный метод для больших массивов данных:

  1. Выделите диапазон → вкладка ДанныеИз таблицы/диапазона (Power Query).
  2. В редакторе выберите столбец → ПреобразоватьЗаменить значения.
  3. В поле Значение для поиска введите [^0-9] (регулярное выражение для всех нецифровых символов).
  4. Поле Заменить на оставьте пустым. Нажмите ОКЗакрыть и загрузить.

Способ 3: VBA-макрос

Для автоматизации очистки:

Sub УдалитьНеЦифры()

Dim rng As Range

For Each rng In Selection

rng.Value = Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

rng.Value, "(", ""), ")",""), "-",""), " ", ""), "+",""), ".",""), ",",""), "/",""), "\",""), "*",""), "_","")

Next rng

End Sub

Выделите ячейки и запустите макрос (Alt+F8 → выберите УдалитьНеЦифры).

Формулы в Excel|Power Query|VBA-макросы|Ручная замена (Ctrl+H)|Другой метод-->

5. Удаление букв (оставить только цифры и символы)

Обратная задача — убрать все буквы, оставив цифры, знаки и пробелы. Актуально для очистки артикулов (ABC-123-XYZ123) или номеров документов. Решения:

Формульный метод

Используйте комбинацию ПЕЧСИМВ с перечислением всех букв алфавита:

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

Минус: длинная формула. Альтернатива — VBA:

VBA-решение

Function УдалитьБуквы(rng As Range) As String

Dim i As Integer, s As String

s = rng.Value

For i = Len(s) To 1 Step -1

If Asc(Mid(s, i, 1)) >= Asc("А") And Asc(Mid(s, i, 1)) <= Asc("я") Then

s = Left(s, i - 1) & Mid(s, i + 1)

End If

Next i

УдалитьБуквы = s

End Function

Введите в ячейку =УдалитьБуквы(A1).

6. Продвинутая очистка: регулярные выражения в Power Query

Для сложных шаблонов (например, удалить все символы после запятой или оставить только email) используйте регулярные выражения в Power Query (доступно в Excel 2016+). Примеры:

ЗадачаРегулярное выражениеПример
Удалить всё после запятой,[^,]*$Иванов, Петр → Иванов
Оставить только цифры и тире[^0-9-]ABC-123-XYZ → 123-
Убрать все символы кроме букв и пробелов[^а-яА-Яa-zA-Z ]Привет! 123 → Привет
Удалить повторяющиеся пробелы[ ]{2,}Привет мир → Привет мир

Как применить:

  1. Импортируйте данные в Power Query (ДанныеИз таблицы/диапазона).
  2. Выберите столбец → ПреобразоватьЗаменить значенияДополнительно.
  3. Включите опцию Использовать регулярные выражения и введите шаблон.

7. Автоматизация: макросы для массовой очистки

Если очищать данные приходится регулярно, запишите VBA-макрос. Примеры готовых решений:

Макрос 1: Удаление всех непечатаемых символов

Убирает пробелы, табуляции, переводы строк:

Sub УдалитьНепечатаемыеСимволы()

Dim rng As Range

For Each rng In Selection

rng.Value = Application.WorksheetFunction.Clean(rng.Value)

Next rng

End Sub

Макрос 2: Удаление символов по списку

Удаляет все указанные символы (редактируйте список в массиве symbolsToRemove):

Sub УдалитьСимволыПоСписку()

Dim rng As Range, i As Integer

Dim symbolsToRemove As Variant

symbolsToRemove = Array(":", ";", "!", "?", "#", "$", "%", "&", "*", "+", "-", "/", "\", "(", ")")

For Each rng In Selection

For i = LBound(symbolsToRemove) To UBound(symbolsToRemove)

rng.Value = Replace(rng.Value, symbolsToRemove(i), "")

Next i

Next rng

End Sub

Макрос 3: Очистка телефонов

Преобразует номера телефонов к единому формату (например, +7 (912) 345-67-8979123456789):

Sub ОчиститьТелефоны()

Dim rng As Range

For Each rng In Selection

rng.Value = Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

Application.WorksheetFunction.Substitute( _

rng.Value, "(", ""), ")",""), "-",""), " ", ""), "+","")

Next rng

End Sub

⚠️ Внимание: Перед запуском макросов сохраните файл в формате .xlsm (с поддержкой макросов) и включите их выполнение в настройках Excel (ФайлПараметрыЦентр управления безопасностьюПараметры центра...Включить все макросы).

FAQ: Частые вопросы по удалению символов

Как удалить неразрывный пробел, который не виден, но мешает формулам?

Неразрывный пробел ( ) удаляется через Найти и заменить (Ctrl+H): в поле Найти введите   (удерживайте Alt и наберите 0160 на цифровой клавиатуре). Поле Заменить на оставьте пустым. Альтернатива — функция =СЖПРОБЕЛЫ(A1).

Можно ли удалить символы в Excel Online?

В Excel Online доступны базовые функции: Найти и заменить (Ctrl+H), СЖПРОБЕЛЫ, ЗАМЕНИТЬ. Power Query и VBA не поддерживаются. Для сложных задач скачайте файл в настольную версию Excel.

Как удалить первые 3 символа во всех ячейках столбца?

Используйте функцию ПРАВСИМВ с отрицательным смещением или ПСТР:

=ПСТР(A1; 4; 99)  // Пропускает первые 3 символа и возвращает остаток

Для массового применения протяните формулу вниз, затем замените результаты на значения (ПКМСпециальная вставкаЗначения).

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

Вероятные причины:

  • 🔹 Формулы ссылаются на исходные ячейки, которые вы заменили на значения. Обновите ссылки.
  • 🔹 Удалены символы, которые были частью формульных разделителей (например, ; в =ЕСЛИ(A1>10; "Да"; "Нет")).
  • 🔹 Данные стали текстом вместо чисел (используйте =ЗНАЧЕН(A1) для преобразования).
Как удалить все символы кроме букв и пробелов?

В Power Query:

  1. Загрузите данные в Power Query.
  2. Выберите столбец → ПреобразоватьЗаменить значенияДополнительно.
  3. Включите Использовать регулярные выражения и введите в поле Значение для поиска: [^а-яА-Яa-zA-Z ].
  4. Поле Заменить на оставьте пустым. Нажмите ОК.

В формулах Excel:

=ПЕЧСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(...ПОДСТАВИТЬ(A1; "9"; "")...; "0"; ""); "1"; ""); "0123456789!@#$%^&*()_+=[]{};':"|<>?/~`")