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

Лишние пробелы в данных Excel — как пыль на полках: незаметны на первый взгляд, но портят всю картину. Они мешают сортировке, искажают результаты функций ВПР и ПОИСКПОЗ, а при объединении таблиц превращают идентичные записи в "разные". По статистике Microsoft, 37% ошибок в отчётах связаны именно с неочищенным текстом — и пробелы занимают в этом рейтинге второе место после опечаток.

Вы могли столкнуться с этой проблемой, когда импортировали данные из , скопировали текст с сайта или получили файл от коллеги, который "любит табуляцию". В этой статье разберём все способы удаления пробелов — от базового TRIM до малоизвестных комбинаций с SUBSTITUTE и CLEAN. А ещё покажем, как автоматизировать очистку для тысяч строк без ручного труда.

Спойлер: функция TRIM не удаляет НЕРАЗРЫВНЫЕ пробелы (код 160), которые часто встречаются в данных из веб-страниц. Их нужно чистить отдельно — об этом в разделе про SUBSTITUTE.

1. TRIM — базовая функция для удаления пробелов

Функция TRIM (в русской версии Excel — СЖПРОБЕЛЫ) — первый инструмент, к которому обращаются при очистке текста. Она удаляет:

  • 📍 Ведущие пробелы (в начале строки)
  • 📍 Заключительные пробелы (в конце строки)
  • 📍 Множественные пробелы между словами (оставляет только один)

Формат функции:

=TRIM(текст)

или на русском:

=СЖПРОБЕЛЫ(текст)

Пример работы: если в ячейке A1 находится текст " Привет мир ", то формула =TRIM(A1) вернёт "Привет мир".

Но у TRIM есть критическое ограничение: она не удаляет неразрывные пробелы (код символа 160), которые часто попадают в Excel при копировании текста с веб-сайтов. Эти пробелы выглядят как обычные, но ведут себя иначе — например, не разбивают строку при переносе. Чтобы их обнаружить, используйте функцию =КОДСИМВ(СИМВОЛ(160)) — она вернёт 160.

📊 Как часто вы сталкиваетесь с лишними пробелами в Excel?
Ежедневно
Раз в неделю
Редко
Никогда

2. CLEAN — удаление непечатаемых символов

Функция CLEAN (ЧИСТ в русской версии) удаляет непечатаемые символы с кодами от 0 до 31 (кроме табуляции, перевода строки и возврат каретки). Это полезно, когда в данные попали:

  • 🖥️ Символы из старых текстовых файлов (например, CR/LF)
  • 🖥️ Артефакты после экспорта из баз данных
  • 🖥️ "Мусор" после копирования из PDF или Word

Формат:

=CLEAN(текст)

Пример: если в ячейке есть невидимый символ с кодом 7 (звуковой сигнал), CLEAN его удалит. Часто эту функцию комбинируют с TRIM:

=TRIM(CLEAN(A1))
⚠️ Внимание: CLEAN не удаляет пробелы как таковые — только непечатаемые символы. Для пробелов используйте TRIM или SUBSTITUTE.

Интересный факт: в Excel 365 появилась функция TEXTAFTER, которая может извлекать текст после определённого символа, игнорируя пробелы. Но для чистки данных она подходит хуже, чем классическая тройка TRIM+CLEAN+SUBSTITUTE.

3. SUBSTITUTE — замена пробелов на пустоту

Когда TRIM бессилен (например, с неразрывными пробелами), на помощь приходит SUBSTITUTE (ПОДСТАВИТЬ). Эта функция заменяет один символ на другой. Чтобы удалить пробелы, заменяем их на пустую строку "".

Формат:

=SUBSTITUTE(текст; старый_текст; новый_текст; [номер_вхождения])

Примеры:

  • 🔹 Удаление всех пробелов (включая одиночные между словами):
  • =SUBSTITUTE(A1; " "; "")
  • 🔹 Удаление только неразрывных пробелов (код 160):
  • =SUBSTITUTE(A1; СИМВОЛ(160); "")
  • 🔹 Замена двойных пробелов на одиночные:
  • =SUBSTITUTE(A1; "  "; " ")

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

=SUBSTITUTE(SUBSTITUTE(A1; " "; ""); СИМВОЛ(160); "")
Как найти код неразрывного пробела?

В ячейке введите =СИМВОЛ(160) — вы увидите пробел, который не разбивает строку при переносе. Скопируйте его и используйте в формулах.

4. Комбинации функций для сложных случаев

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

Задача Формула Пример результата
Удалить все пробелы + непечатаемые символы =SUBSTITUTE(TRIM(CLEAN(A1));" ";"") "Приветмир"
Оставить только одиночные пробелы между словами =TRIM(CLEAN(SUBSTITUTE(A1;СИМВОЛ(160);" "))) "Привет мир"
Удалить пробелы в начале/конце + заменить табуляцию на запятую =TRIM(SUBSTITUTE(A1;СИМВОЛ(9);",")) "Привет,мир"
Очистка для ВПР (удалить пробелы + привести к нижнему регистру) =НИЖНРЕГ(SUBSTITUTE(TRIM(A1);" ";"")) "приветмир"

Для автоматизации очистки больших таблиц используйте Power Query (вкладка Данные → Получить данные). Этот инструмент позволяет:

  • 🔄 Заменять пробелы в тысячах строк за секунды
  • 🔄 Применять очистку ко всем новым данным при обновлении
  • 🔄 Сохранять шаги обработки для повторного использования

Сделайте резервную копию файла|Проверьте количество строк (формулы могут замедлить работу)|Отключите автоматический пересчёт (Формулы → Параметры вычислений → Вручную)|Убедитесь, что в данных нет важных пробелов (например, в артикулах)

-->

5. Удаление пробелов с помощью Power Query

Если данных много (тысячи строк), формулы в ячейках могут сильно тормозить файл. В этом случае Power Query — оптимальное решение. Алгоритм действий:

  1. Выделите диапазон данных → Данные → Из таблицы/диапазона.
  2. В открывшемся редакторе выберите столбец → Преобразовать → Формат → Обрезка (это аналог TRIM).
  3. Для замены пробелов: Преобразовать → Заменить значения → введите пробел в поле "Значение для поиска", оставьте поле "Заменить на" пустым.
  4. Для неразрывных пробелов: в поле "Значение для поиска" вставьте символ из =СИМВОЛ(160).
  5. Нажмите Закрыть и загрузить.

Преимущества Power Query:

  • ⚡ Обрабатывает миллионы строк без зависаний
  • ⚡ Сохраняет шаги очистки для повторного использования
  • ⚡ Позволяет объединять очистку с другими преобразованиями (разделение столбцов, изменение типов данных)
⚠️ Внимание: После загрузки данных через Power Query они становятся статическими. Если исходные данные изменятся, нужно обновить запрос вручную (Данные → Обновить все).

6. VBA-макрос для удаления пробелов

Если вам нужно очищать пробелы регулярно, стоит автоматизировать процесс с помощью VBA. Ниже макрос, который:

  • 🤖 Удаляет все пробелы в выделенном диапазоне
  • 🤖 Сохраняет одиночные пробелы между словами (аналог TRIM)
  • 🤖 Обрабатывает неразрывные пробелы

Код макроса:

Sub УдалитьПробелы()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

If Not IsEmpty(cell) Then

cell.Value = WorksheetFunction.Trim(Replace(Replace(cell.Value, " ", " "), Chr(160), " "))

End If

Next cell

End Sub

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите диапазон в Excel и запустите макрос (Alt + F8 → УдалитьПробелы → Выполнить).

Для запуска макроса по кнопке:

  • Добавьте кнопку на лист (Вставка → Кнопка).
  • Назначьте ей макрос УдалитьПробелы.

7. Типичные ошибки и как их избежать

Даже опытные пользователи Excel допускают ошибки при очистке пробелов. Вот самые распространённые:

Ошибка Последствия Как избежать
Использование TRIM для неразрывных пробелов Пробелы остаются, данные кажутся "чистыми", но ВПР не работает Добавьте SUBSTITUTE для символа 160
Замена всех пробелов на пустоту Слова слипаются ("Приветмир"), текст становится нечитаемым Используйте TRIM, а не SUBSTITUTE(A1; " "; "")
Применение формул к ячейкам с числами Числа преобразуются в текст, нарушаются вычисления Проверяйте тип данных функцией ТИП
Копирование формул без преобразования в значения При удалении столбца с формулами данные пропадают Используйте Специальная вставка → Значения

Ещё одна ловушка — скрытые символы в данных из PDF или Word. Например, мягкий перенос (СИМВОЛ(173)) выглядит как дефис, но ведёт себя как пробел. Чтобы их обнаружить, используйте формулу:

=КОД(ПРАВСИМВ(A1))

Она вернёт код последнего символа в ячейке. Если это не ожидаемое значение (например, 173 вместо 46 для точки), данные нуждаются в дополнительной очистке.

8. Альтернативные способы: надстройки и онлайн-сервисы

Если встроенные инструменты Excel не справляются, рассмотрите сторонние решения:

  • 🔧 Надстройка Power Tools для Excel:
    • 📌 Удаляет все типы пробелов в один клик
    • 📌 Очищает непечатаемые символы, включая NUL (код 0)
    • 📌 Работает с диапазонами до 1 млн строк
  • 🌐 Онлайн-сервисы (например, TextFixer.com или ConvertCSV.com):
    • 📌 Поддерживают загрузку файлов .xlsx и .csv
    • 📌 Предлагают расширенные опции (удаление пробелов в начале/конце, замена на другие символы)
    • 📌 Бесплатны для файлов до 5 МБ
  • 📊 Google Sheets:
    • 📌 Функция =TRIM работает аналогично Excel
    • 📌 Для неразрывных пробелов используйте =SUBSTITUTE(A1; CHAR(160); "")
    • 📌 Поддерживает Google Apps Script для автоматизации
⚠️ Внимание: Онлайн-сервисы требуют загрузки данных на сторонние серверы. Не используйте их для конфиденциальной информации (персональные данные, финансовые отчёты).

Для корпоративных пользователей лучший вариант — разработать собственную надстройку или использовать Power Query с сохранением шагов очистки. Это гарантирует безопасность данных и повторяемость процесса.

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

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

Скорее всего, это неразрывные пробелы (код 160). Они не удаляются функцией TRIM. Используйте комбинацию:

=SUBSTITUTE(TRIM(A1); СИМВОЛ(160); "")

Или для замены на обычный пробел:

=SUBSTITUTE(TRIM(A1); СИМВОЛ(160); " ")
Как удалить пробелы только в начале или только в конце строки?

Excel не имеет отдельных функций для этого, но можно использовать комбинацию LEN, LEFT/RIGHT и TRIM. Например, для удаления пробелов в начале:

=PRAВСИМВ(TRIM(A1); ДЛСТР(TRIM(A1)) - ДЛСТР(ПОДСТАВИТЬ(TRIM(A1); " "; "")))

Но проще воспользоваться Power Query или VBA.

Можно ли удалить пробелы без формул?

Да, есть два способа:

  1. Найти и заменить (Ctrl + H):
    • В поле "Найти" введите пробел (или СИМВОЛ(160) для неразрывного пробела).
    • В поле "Заменить на" оставьте пусто.
    • Нажмите "Заменить всё".
  • Текст по столбцам:
    • Выделите столбец → Данные → Текст по столбцам.
    • На шаге 2 выберите разделитель "Пробел".
    • На шаге 3 отметьте столбцы для пропуска и нажмите "Готово".
    • Минус этих методов — они не сохраняют пробелы между словами. Для точной очистки лучше использовать формулы.

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

    Если в ячейке число с пробелами (например, " 1 000 "), используйте:

    =ЗНАЧЕН(СЖПРОБЕЛЫ(A1))

    Функция ЗНАЧЕН преобразует очищенный текст обратно в число. Для диапазона:

    1. Добавьте вспомогательный столбец с формулой.
    2. Скопируйте результаты и вставьте их поверх исходных данных через Специальная вставка → Значения.
    3. Удалите вспомогательный столбец.
    Почему после очистки пробелов функция ВПР не находит совпадения?

    Причины могут быть следующими:

    • 🔍 В данных остались неразрывные пробелы (проверьте кодом =КОДСИМВ(ПРАВСИМВ(A1))).
    • 🔍 Разный регистр букв (используйте НИЖНРЕГ или ВЕРХНРЕГ для унификации).
    • 🔍 Скрытые символы (табуляция, перевод строки — проверьте CLEAN).
    • 🔍 Данные в одном столбце — текст, в другом — числа (преобразуйте типы с помощью ЗНАЧЕН или ТЕКСТ).
    • Для диагностики используйте формулу:

      =A1=B1

      Если она вернёт ЛОЖЬ для визуально одинаковых ячеек, значит, в данных есть скрытые различия.