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

Лишние символы в начале ячеек Excel — одна из самых распространённых проблем при импорте данных из CSV, баз данных или после копирования с веб-страниц. Чаще всего это неразрывные пробелы, табуляции, символы BOM (UTF-8) или невидимые управляющие знаки, которые мешают сортировке, фильтрации и преобразованию данных в числа. Например, ячейка с визуально чистым числом 12345 может содержать перед ним CHAR(160) — неразрывный пробел, из-за чего Excel воспринимает её как текст и выдаёт ошибку #ЗНАЧ! при попытке сложить значения.

Проблема усложняется тем, что такие символы не всегда видны: они не отображаются в строке формул и не подсвечиваются при двойном клике на ячейку. Однако их присутствие выдаёт себя через некорректную работу функций (например, СУММ игнорирует ячейку), ошибки при преобразовании в число или неправильную сортировку (текст с пробелами идёт после идентичного текста без них). Ниже разберём 7 способов очистки данных — от ручных до автоматизированных, с учётом конкретных типов "мусора".

1. Как определить тип лишних символов

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

  • 🔍 Функция КОДСИМВ: вернёт код первого символа в ячейке. Например, =КОДСИМВ(A1) для ячейки с неразрывным пробелом выдаст 160 (стандартный пробел имеет код 32).
  • 🔍 Функция ДЛСТР: сравните длину строки до и после удаления видимого текста. Если длина не совпадает — в ячейке есть невидимые символы.
  • 🔍 Режим отображения формул: нажмите Ctrl + ` (гравис), чтобы увидеть содержимое ячеек в формате формул. Иногда так проявляются скрытые знаки.
  • 🔍 Экспорт в текстовый редактор: скопируйте данные в Notepad++ или VS Code с включённым отображением специальных символов (View → Show Symbol → Show All Characters).

Особое внимание уделите символу BOM (Byte Order Mark) — он появляется при импорте UTF-8 файлов и имеет код 65279. Его нельзя увидеть стандартными средствами Excel, но он ломает работу функций вроде ПОИСКПОЗ или ВПР.

⚠️ Внимание: Если после копирования данных из веб-страницы в Excel числа отображаются выровненными по левому краю (как текст), это верный признак наличия невидимых символов. Не пытайтесь преобразовать их в число через контекстное меню — сначала очистите ячейки.

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

Для удаления стандартных пробелов (код 32) и табуляций (9) используйте комбинацию функций:

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

Ограничение этих функций — они не работают с неразрывными пробелами (CHAR(160)) и другими специальными знаками. Для них потребуются дополнительные шаги.

Символ Код (CHAR) Функция для удаления Пример
Обычный пробел 32 СЖПРОБЕЛЫ =СЖПРОБЕЛЫ(A1)
Неразрывный пробел 160 ЗАМЕНИТЬ =ЗАМЕНИТЬ(A1;CHAR(160);"")
Табуляция 9 ЗАМЕНИТЬ или ПЕЧСИМВ =ЗАМЕНИТЬ(A1;CHAR(9);"")
Перевод строки 10 ПЕЧСИМВ =ПЕЧСИМВ(A1)
📊 Какой способ удаления символов вы используете чаще?
Функции Excel (СЖПРОБЕЛЫ, ЗАМЕНИТЬ)
Надстройка Power Query
Макрос VBA
Ручная очистка (Find & Replace)
Другой вариант

3. Очистка неразрывных пробелов и символа BOM

Неразрывные пробелы (CHAR(160)) и BOM (CHAR(65279)) не удаляются стандартными функциями. Для них потребуется:

  1. Замена через ЗАМЕНИТЬ:
    =ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;CHAR(160);"");CHAR(65279);"")

    Эта формула последовательно убирает оба проблемных символа.

  2. Использование ПОДСТАВИТЬ для массовой обработки:
    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);"");CHAR(65279);"")

    Отличие от ЗАМЕНИТЬ — чувствительность к регистру (неактуально для этих символов, но полезно для других случаев).

  3. Надстройка Power Query: импортируйте данные через Данные → Получить данные → Из текстового/CSV, затем в редакторе Power Query выберите столбец → Преобразовать → Заменить значения и введите \u00A0 (неразрывный пробел) или \uFEFF (BOM) в поле "Найти".

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

1. Проверьте код первого символа функцией КОДСИМВ|2. Удалите пробелы функцией СЖПРОБЕЛЫ|3. Замените CHAR(160) и CHAR(65279) через ЗАМЕНИТЬ|4. Примените ПЕЧСИМВ для непечатаемых знаков|5. Проверьте результат преобразованием в число (умножьте на 1)-->

4. Массовая очистка через "Найти и заменить"

Для ручной очистки больших диапазонов:

  1. Выделите диапазон ячеек (например, A1:A1000).
  2. Нажмите Ctrl + H (или Главная → Найти и выделить → Заменить).
  3. В поле "Найти" введите:
    • Для неразрывного пробела: вставьте символ из буфера (скопируйте его из другой программы, например, Word, где он виден как маленький кружок).
    • Для табуляции: нажмите Ctrl + Tab в поле "Найти".
    • Для символа BOM: введите ^? (не всегда работает, лучше использовать формулы).
  • Оставьте поле "Заменить на" пустым и нажмите "Заменить всё".
  • Преимущество метода — скорость, недостаток — невозможность удалить BOM и некоторые специальные символы. Для них придётся комбинировать с формулами.

    ⚠️ Внимание: При замене неразрывных пробелов через Ctrl + H Excel может не найти символ, если он скопирован неправильно. В этом случае используйте функцию ЗАМЕНИТЬ с явным указанием CHAR(160).

    5. Автоматизация очистки с помощью VBA

    Если данные поступают регулярно и требуют очистки, создайте макрос:

    1. Нажмите Alt + F11, чтобы открыть редактор VBA.
    2. Вставьте новый модуль (Insert → Module) и добавьте код:
      Sub CleanCells()
      

      Dim rng As Range

      Dim cell As Range

      Set rng = Selection

      For Each cell In rng

      cell.Value = Replace(Replace(cell.Value, Chr(160), ""), Chr(65279), "")

      cell.Value = Trim(cell.Value)

      Next cell

      End Sub

    3. Выделите диапазон ячеек в Excel и запустите макрос (Alt + F8 → CleanCells → Выполнить).

    Этот макрос удаляет неразрывные пробелы, BOM и обрезает обычные пробелы по краям. Для расширенной очистки добавьте в цикл другие символы через Replace.

    6. Очистка при импорте данных (Power Query)

    Power Query — самый мощный инструмент для очистки импортированных данных. Алгоритм действий:

    1. Импортируйте данные через Данные → Получить данные → Из файла/базы данных.
    2. В редакторе Power Query выделите столбец → Преобразовать → Очистить → Обрезать (удалит пробелы по краям).
    3. Для удаления неразрывных пробелов:
      • Выделите столбец → Преобразовать → Заменить значения.
      • В поле "Найти" введите \u00A0, в "Заменить на" оставьте пустым.
  • Для символа BOM используйте \uFEFF в поле "Найти".
  • Нажмите Главная → Закрыть и загрузить.
  • Преимущество Power Query — возможность сохранить шаги очистки и повторно применять их к новым данным. Например, если вы ежемесячно импортируете отчёты с лишними символами, достаточно обновить запрос (Данные → Обновить все).

    Как сохранить шаги Power Query для повторного использования

    1. После очистки данных нажмите "Главная → Закрыть и загрузить в...".

    2. Выберите "Только создать подключение" (не загружать данные сразу).

    3. В следующий раз используйте "Данные → Получить данные → Запросы → [ваш запрос]" и обновите источник.

    7. Преобразование текста в числа после очистки

    После удаления лишних символов числа могут остаться в текстовом формате. Чтобы преобразовать их:

    • 🔢 Умножение на 1: в соседнем столбце введите =A1*1 и протяните формулу вниз. Затем скопируйте результаты и вставьте как значения (Ctrl + Shift + V).
    • 🔢 Функция ЗНАЧЕН: =ЗНАЧЕН(A1) — преобразует текстовое число в числовой формат.
    • 🔢 Текст по столбцам:
      1. Выделите столбец → Данные → Текст по столбцам.
      2. Выберите "С разделителями" → нажмите "Далее" → "Далее" → укажите формат столбца "Общий" или "Числовой".

    Если после преобразования числа отображаются с экспонентой (например, 1.23E+05), расширьте столбец или измените формат ячеек на "Числовой".

    Частые вопросы (FAQ)

    Почему после очистки функция СУММ всё равно не работает?

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

    1. Ячейки остались в текстовом формате. Преобразуйте их в числа (см. раздел 7).
    2. В данных остались невидимые символы (проверьте коды через КОДСИМВ).
    3. В диапазоне есть пустые ячейки или текстовые значения, которые Excel игнорирует при суммировании.
    Как удалить все символы до определённого знака (например, до двоеточия)?

    Используйте комбинацию функций:

    =ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(":";A1))

    Эта формула найдёт позицию двоеточия и вернёт всё, что идёт после него. Для удаления символов после двоеточия используйте:

    =ЛЕВСИМВ(A1;ПОИСК(":";A1)-1)
    Можно ли удалить лишние символы при открытии файла CSV?

    Да, при импорте через Power Query (см. раздел 6). Альтернативно:

    1. Откройте файл CSV в Notepad++.
    2. Нажмите Ctrl + H, в поле "Найти" введите \xEF\xBB\xBF (BOM в UTF-8) или \xA0 (неразрывный пробел).
    3. Замените на пустоту и сохраните файл.

    После этого импортируйте очищенный CSV в Excel.

    Почему функция ПЕЧСИМВ не удаляет неразрывные пробелы?

    Функция ПЕЧСИМВ удаляет только непечатаемые символы (коды 0–31), а неразрывный пробел (160) относится к печатаемым. Для его удаления используйте ЗАМЕНИТЬ или СЖПРОБЕЛЫ (если пробелы между словами не важны).

    Как удалить символы только в начале ячейки, не затрагивая конец?

    Используйте формулу:

    =ЕСЛИ(ЛЕВСИМВ(A1)=" ";ПРАВСИМВ(A1;ДЛСТР(A1)-1);A1)

    Для удаления нескольких символов подряд:

    =ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A1));A1)+1)

    Эта формула найдёт позицию первого "нормального" символа и вернёт строку с него.