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

Лишние запятые, кавычки или пробелы в ячейках Excel искажают данные при сортировке, фильтрации или импорте в другие системы. Например, если в столбце с ценами после цифр остался знак валюты (100$ вместо 100), формулы СУММ или СРЗНАЧ вернут ошибку #ЗНАЧ!. Проблема усугубляется при работе с выгрузками из 1С, CRM или веб-форм, где символы-разделители (;, |, tab) попадают в данные случайно.

В 90% случаев достаточно стандартного инструмента «Найти и заменить», но он бессилен, когда нужно удалить только первый или последний символ в ячейке, либо очистить данные по условию (например, убрать % только из чисел больше 100). Для таких задач потребуются формулы (ПОДСТАВИТЬ, ЗАМЕНИТЬ), Power Query или даже VBA-макросы. Ниже разберём все методы с примерами для версий Excel 2010–2026 и Microsoft 365.

1. Быстрое удаление через «Найти и заменить»

Самый простой способ — использовать комбинацию Ctrl + H (или меню Главная → Найти и выделить → Заменить). Метод работает для удаления всех вхождений символа во всём листе или выделенном диапазоне. Например, чтобы убрать дефисы в артикулах (ABC-123 → ABC123):

  1. Выделите диапазон ячеек (или нажмите Ctrl + A для всего листа).
  2. Нажмите Ctrl + H, в поле «Найти»** введите символ для удаления (например, -).
  3. Оставьте поле «Заменить на»** пустым.
  4. Нажмите «Заменить всё»** — Excel покажет количество замен.

⚠️ Внимание: Если символ является частью формулы (например, =$A$1), замена приведёт к ошибке. В таких случаях используйте только выделенный диапазон с значениями, а не весь лист.

2. Формулы для избирательного удаления символов

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

  • 🔹 =ПОДСТАВИТЬ(A1; "-"; "") — удаляет все дефисы в ячейке A1.
  • 🔹 =ЗАМЕНИТЬ(A1; 1; 1; "") — убирает первый символ (начиная с позиции 1, длиной 1 символ).
  • 🔹 =ПСТР(A1; 2; 100) — возвращает текст без первого символа (с 2-го по 100-й).
  • 🔹 =ЕСЛИ(ЛЕВСИМВ(A1)="*"; ПСТР(A1;2;999); A1) — удаляет звёздочку только если она первая.

Для удаления последнего символа комбинируйте ЛЕН и ПСТР:

=ПСТР(A1; 1; ДЛСТР(A1)-1)

⚠️ Внимание: Формулы возвращают новые значения, не изменяя исходные данные. Чтобы заменить оригинальные ячейки, скопируйте результаты формул и вставьте как «Значения»** (через ПКМ → Специальная вставка).

ЗадачаФормулаПример
Удалить все запятые=ПОДСТАВИТЬ(A1; ","; "")1,000 → 1000
Убрать знак % и разделить на 100=ПОДСТАВИТЬ(A1; "%"; "")/10015% → 0.15
Удалить первые 3 символа=ПСТР(A1; 4; 999)ABC123 → 123
Убрать все пробелы=ПОДСТАВИТЬ(A1; " "; "")Hello World → HelloWorld
Удалить символ, если он последний=ЕСЛИ(ПРАВСИМВ(A1)=""; ЛЕВСИМВ(A1;ДЛСТР(A1)-1); A1)text → text

3. Удаление символов по маске (Power Query)

Если данные импортированы из внешних источников (CSV, SQL, веб), используйте Power Query (доступен в Excel 2016+ и Microsoft 365). Этот инструмент позволяет:

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

Пошаговая инструкция:

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

Удалить все символы, кроме букв и цифр: [^a-zA-Z0-9]
Убрать ведущие нули: ^0+
Оставить только email: [^a-zA-Z0-9@._-]

4. Удаление непечатаемых символов (пробелы, табуляции, переносы)

Невидимые символы (CHAR(10) — перенос строки, CHAR(9) — табуляция) часто попадают в Excel при копировании из Word, PDF или веб-страниц. Их не видно, но они мешают функциям ПОИСКПОЗ или СЦЕПИТЬ. Чтобы удалить:

  • 🖥️ Ручной метод: Используйте Ctrl + H, в поле «Найти»** вставьте символ из таблицы ниже (скопируйте из ячейки с =СИМВОЛ(10)).
  • 📊 Формула: =ЧИСТ(A1) — удаляет все непечатаемые символы.
  • 🔧 VBA: Макрос для удаления CHAR(160) (неразрывный пробел):
Sub DeleteNonBreakingSpaces()

Dim rng As Range

For Each rng In Selection

rng.Value = Replace(rng.Value, Chr(160), "")

Next rng

End Sub

СимволКодКак вставить в «Найти»
Перенос строкиCHAR(10)Скопируйте из ячейки с =СИМВОЛ(10)
ТабуляцияCHAR(9)Нажмите Tab в поле «Найти»
Неразрывный пробелCHAR(160)Введите CHAR(160) в английской версии
Знак параграфаCHAR(13)Скопируйте из ячейки с =СИМВОЛ(13)
📊 Какой метод вы используете чаще для очистки данных в Excel?
Найти и заменить
Формулы
Power Query
VBA-макросы
Не очищаю данные

5. Автоматизация через VBA-макросы

Если нужно регулярно удалять одни и те же символы (например, очищать выгрузки из 1С), запишите макрос. Примеры:

  • 🤖 Удалить все кавычки в выделенном диапазоне:
Sub RemoveQuotes()

Dim cell As Range

For Each cell In Selection

cell.Value = Replace(cell.Value, """", "")

Next cell

End Sub

  • 🤖 Убрать первые 2 символа во всём столбце A:
Sub RemoveFirstTwoChars()

Dim i As Long

For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row

Cells(i, 1).Value = Right(Cells(i, 1).Value, Len(Cells(i, 1).Value) - 2)

Next i

End Sub

Чтобы запустить макрос:

  1. Нажмите Alt + F11Insert → Module.
  2. Вставьте код, закройте редактор.
  3. Вернитесь в Excel, нажмите Alt + F8, выберите макрос и нажмите «Выполнить»**.

Выделен диапазон ячеек для обработки

Сохранён резервный файл (макросы не отменяются)

Включена вкладка «Разработчик» (Файл → Параметры → Настройка ленты)

Отключены предупреждения безопасности (Центр управления безопасностью → Параметры макросов → «Включить все макросы»)-->

6. Удаление символов в зависимых формулах

Если символы мешают работе формул (например, #ЗНАЧ! из-за текста в числовых данных), используйте обёртки:

  • 🔢 =ЗНАЧЕН(ПОДСТАВИТЬ(A1; " руб."; "")) — преобразует 100 руб. в число 100.
  • 🔢 =--ПОДСТАВИТЬ(A1; "%"; "") — убирает % и преобразует в число (двойной унарный минус).
  • 🔢 =ЕСЛИОШИБКА(ЗНАЧЕН(А1); 0) — игнорирует ошибки при преобразовании.

Для динамических массивов (Excel 365) комбинируйте с ФИЛЬТР или ПРЕОБР:

=ПРЕОБР(ПОДСТАВИТЬ(A1:A10; " кг"; ""); 1)

1. Остались ли в данных невидимые символы (используйте =КОДСИМВ(ПРАВСИМВ(A1))).

2. Не превышает ли результат 15 знаков (ограничение для чисел в Excel).

3. Нет ли пробелов перед/после текста (используйте =СЖПРОБЕЛЫ(A1)).-->

7. Ошибки и решения при удалении символов

Распространённые проблемы и способы их исправления:

ОшибкаПричинаРешение
#ИМЯ? в формулеОпечатка в названии функцииПроверьте регистр: ПОДСТАВИТЬ, а не подставить.
Символ не удаляется через Ctrl+HЭто непечатаемый символ (CHAR(160))Используйте =ЧИСТ(A1) или VBA.
Макрос не работаетОтключены макросы в параметрах безопасностиВключите в Файл → Параметры → Центр управления безопасностью.
Формула удаляет не те символыНеверно указаны аргументы ЗАМЕНИТЬПроверьте порядок: =ЗАМЕНИТЬ(текст; начало; количество; новый_текст).
Power Query не находит символКодировка файла отличается от Windows-1251При импорте выберите правильную кодировку.

⚠️ Внимание: Если после удаления символов данные превратились в даты (например, 1-2 → 02.01.2026), перед очисткой отформатируйте ячейки как «Текст»** (Ctrl + 1 → Числовой формат → Текстовый).

FAQ: Частые вопросы

Как удалить все символы кроме цифр?

Используйте формулу с ПОДСТАВИТЬ для каждого нецифрового символа или Power Query с регулярным выражением [^0-9]. Для VBA подойдёт:

Function OnlyNumbers(rng As Range) As String

OnlyNumbers = 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, "0", ""), "1", ""), "2", ""), "3", ""), "4", ""), "5", ""), "6", ""), "7", ""), "8", ""), "9", "")

End Function

Или проще: скопируйте данные в Блокнот — он удалит всё кроме цифр и букв.

Можно ли удалить символы в защищённых ячейках?

Нет, если ячейки защищены паролем. Сначала снимите защиту (Рецензирование → Снять защиту листа). Для редактирования только части данных:

  1. Выделите диапазон → Главная → Формат → Формат ячеек → Защита.
  2. Снимите флажок «Защищаемая ячейка»** для ячеек, которые нужно очистить.
  3. Защитите лист заново.
Как удалить символы в формулах массива?

Для динамических массивов (Excel 365) используйте комбинацию ПРЕОБР + ПОДСТАВИТЬ:

=ПРЕОБР(ПОДСТАВИТЬ(A1:A10; "$"; ""); 1)

Если нужна обработка по условию (например, убрать % только из чисел > 100), добавьте ФИЛЬТР:

=ПРЕОБР(ЕСЛИ(A1:A10>100; ПОДСТАВИТЬ(A1:A10; "%"; ""); A1:A10); 1)
Почему после удаления символов числа отображаются как текст?

Excel автоматически преобразует данные в текст, если в ячейке остаются нечисловые символы (даже невидимые). Решения:

  • Примените формат «Общий»** (Ctrl + Shift + ~).
  • Используйте =ЗНАЧЕН(A1) для принудительного преобразования.
  • Двойной щелчок по ячейке + Enter (иногда срабатывает).

Если не помогает, проверьте наличие непечатаемых символов через =КОДСИМВ(ЛЕВСИМВ(A1)).

Как удалить символы в Excel Online?

В веб-версии Excel доступны только базовые функции:

  • 🔍 «Найти и заменить»** (Ctrl + H) — работает как в десктопной версии.
  • 📝 Формулы ПОДСТАВИТЬ, ЗАМЕНИТЬ, ПСТР — поддерживаются.
  • 🚫 Power Query и VBAнедоступны в Excel Online.

Для сложных задач экспортируйте файл в десктопную версию или используйте Google Sheets (там есть REGEXREPLACE для регулярных выражений).