Лишние символы в начале ячеек 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) |
3. Очистка неразрывных пробелов и символа BOM
Неразрывные пробелы (CHAR(160)) и BOM (CHAR(65279)) не удаляются стандартными функциями. Для них потребуется:
- Замена через
ЗАМЕНИТЬ:=ЗАМЕНИТЬ(ЗАМЕНИТЬ(A1;CHAR(160);"");CHAR(65279);"")Эта формула последовательно убирает оба проблемных символа.
- Использование
ПОДСТАВИТЬдля массовой обработки:=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);"");CHAR(65279);"")Отличие от
ЗАМЕНИТЬ— чувствительность к регистру (неактуально для этих символов, но полезно для других случаев). - Надстройка Power Query: импортируйте данные через
Данные → Получить данные → Из текстового/CSV, затем в редакторе Power Query выберите столбец →Преобразовать → Заменить значенияи введите\u00A0(неразрывный пробел) или\uFEFF(BOM) в поле "Найти".
Критичный нюанс: символ BOM может появляться только в первой ячейке импортированного столбца. Если после очистки проблемы остались, проверьте именно первую строку данных.
1. Проверьте код первого символа функцией КОДСИМВ|2. Удалите пробелы функцией СЖПРОБЕЛЫ|3. Замените CHAR(160) и CHAR(65279) через ЗАМЕНИТЬ|4. Примените ПЕЧСИМВ для непечатаемых знаков|5. Проверьте результат преобразованием в число (умножьте на 1)-->
4. Массовая очистка через "Найти и заменить"
Для ручной очистки больших диапазонов:
- Выделите диапазон ячеек (например,
A1:A1000). - Нажмите
Ctrl + H(илиГлавная → Найти и выделить → Заменить). - В поле "Найти" введите:
- Для неразрывного пробела: вставьте символ из буфера (скопируйте его из другой программы, например, Word, где он виден как маленький кружок).
- Для табуляции: нажмите
Ctrl + Tabв поле "Найти". - Для символа BOM: введите
^?(не всегда работает, лучше использовать формулы).
Преимущество метода — скорость, недостаток — невозможность удалить BOM и некоторые специальные символы. Для них придётся комбинировать с формулами.
⚠️ Внимание: При замене неразрывных пробелов черезCtrl + HExcel может не найти символ, если он скопирован неправильно. В этом случае используйте функциюЗАМЕНИТЬс явным указаниемCHAR(160).
5. Автоматизация очистки с помощью VBA
Если данные поступают регулярно и требуют очистки, создайте макрос:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте новый модуль (
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
- Выделите диапазон ячеек в Excel и запустите макрос (
Alt + F8 → CleanCells → Выполнить).
Этот макрос удаляет неразрывные пробелы, BOM и обрезает обычные пробелы по краям. Для расширенной очистки добавьте в цикл другие символы через Replace.
6. Очистка при импорте данных (Power Query)
Power Query — самый мощный инструмент для очистки импортированных данных. Алгоритм действий:
- Импортируйте данные через
Данные → Получить данные → Из файла/базы данных. - В редакторе Power Query выделите столбец →
Преобразовать → Очистить → Обрезать(удалит пробелы по краям). - Для удаления неразрывных пробелов:
- Выделите столбец →
Преобразовать → Заменить значения. - В поле "Найти" введите
\u00A0, в "Заменить на" оставьте пустым.
- Выделите столбец →
\uFEFF в поле "Найти".Главная → Закрыть и загрузить.Преимущество Power Query — возможность сохранить шаги очистки и повторно применять их к новым данным. Например, если вы ежемесячно импортируете отчёты с лишними символами, достаточно обновить запрос (Данные → Обновить все).
Как сохранить шаги Power Query для повторного использования
1. После очистки данных нажмите "Главная → Закрыть и загрузить в...".
2. Выберите "Только создать подключение" (не загружать данные сразу).
3. В следующий раз используйте "Данные → Получить данные → Запросы → [ваш запрос]" и обновите источник.
7. Преобразование текста в числа после очистки
После удаления лишних символов числа могут остаться в текстовом формате. Чтобы преобразовать их:
- 🔢 Умножение на 1: в соседнем столбце введите
=A1*1и протяните формулу вниз. Затем скопируйте результаты и вставьте как значения (Ctrl + Shift + V). - 🔢 Функция
ЗНАЧЕН:=ЗНАЧЕН(A1)— преобразует текстовое число в числовой формат. - 🔢 Текст по столбцам:
- Выделите столбец →
Данные → Текст по столбцам. - Выберите "С разделителями" → нажмите "Далее" → "Далее" → укажите формат столбца "Общий" или "Числовой".
- Выделите столбец →
Если после преобразования числа отображаются с экспонентой (например, 1.23E+05), расширьте столбец или измените формат ячеек на "Числовой".
Частые вопросы (FAQ)
Почему после очистки функция СУММ всё равно не работает?
Вероятные причины:
- Ячейки остались в текстовом формате. Преобразуйте их в числа (см. раздел 7).
- В данных остались невидимые символы (проверьте коды через
КОДСИМВ). - В диапазоне есть пустые ячейки или текстовые значения, которые Excel игнорирует при суммировании.
Как удалить все символы до определённого знака (например, до двоеточия)?
Используйте комбинацию функций:
=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(":";A1))
Эта формула найдёт позицию двоеточия и вернёт всё, что идёт после него. Для удаления символов после двоеточия используйте:
=ЛЕВСИМВ(A1;ПОИСК(":";A1)-1)
Можно ли удалить лишние символы при открытии файла CSV?
Да, при импорте через Power Query (см. раздел 6). Альтернативно:
- Откройте файл CSV в Notepad++.
- Нажмите
Ctrl + H, в поле "Найти" введите\xEF\xBB\xBF(BOM в UTF-8) или\xA0(неразрывный пробел). - Замените на пустоту и сохраните файл.
После этого импортируйте очищенный CSV в Excel.
Почему функция ПЕЧСИМВ не удаляет неразрывные пробелы?
Функция ПЕЧСИМВ удаляет только непечатаемые символы (коды 0–31), а неразрывный пробел (160) относится к печатаемым. Для его удаления используйте ЗАМЕНИТЬ или СЖПРОБЕЛЫ (если пробелы между словами не важны).
Как удалить символы только в начале ячейки, не затрагивая конец?
Используйте формулу:
=ЕСЛИ(ЛЕВСИМВ(A1)=" ";ПРАВСИМВ(A1;ДЛСТР(A1)-1);A1)
Для удаления нескольких символов подряд:
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A1));A1)+1)
Эта формула найдёт позицию первого "нормального" символа и вернёт строку с него.