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

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

В этой статье мы разберём 7 способов очистки пробелов — от базовых функций до продвинутых инструментов вроде Power Query и VBA. Вы узнаете, как удалить пробелы в начале/конце строки, между словами, а также неразрывные пробелы и табуляции. Особое внимание уделим скрытым символам, которые не удаляет стандартная функция TRIM, и покажем, как с ними бороться. Все методы протестированы в Excel 2019–2023 и Microsoft 365.

1. Функция TRIM: базовый способ удаления пробелов

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

=TRIM(A1)

Где A1 — ячейка с исходным текстом. Например, если в ячейке было " Привет мир ", после применения TRIM останется "Привет мир".

  • Плюсы: работает во всех версиях Excel, не требует дополнительных надстроек.
  • Минусы: не удаляет неразрывные пробелы (CHAR(160)) и табуляции (CHAR(9)).
  • ⚠️ Ограничение: если в тексте есть двойные пробелы между словами, которые нужно сохранить (например, в фамилии "ван дер Ваальс"), TRIM их сократит до одного.

Чтобы применить TRIM ко всему столбцу, потяните маркер автозаполнения вниз или используйте комбинацию Ctrl+D (заполнить вниз). Для постоянного удаления пробелов скопируйте результаты и вставьте их поверх исходных данных через Специальная вставка → Значения.

2. Функция CLEAN: удаление непечатаемых символов

Функция CLEAN (ПЕЧСИМВ в русской версии) удаляет непечатаемые символы с кодами от 0 до 31 (например, символы перевода строки или табуляции). Её часто комбинируют с TRIM для более глубокой очистки:

=TRIM(CLEAN(A1))

Пример работы: если в ячейке есть текст "Строка1

Строка2" (с переносом строки), CLEAN удалит этот перенос, а TRIM уберёт лишние пробелы.

Символ Код (CHAR) Удаляется ли CLEAN? Удаляется ли TRIM?
Обычный пробел 32 ❌ Нет ✅ Да (крайние)
Неразрывный пробел 160 ❌ Нет ❌ Нет
Табуляция 9 ✅ Да ❌ Нет
Перевод строки 10 ✅ Да ❌ Нет

Если после CLEAN пробелы остаются, значит, они относятся к печатаемым символам (например, неразрывные пробелы). В этом случае поможет комбинация с функцией SUBSTITUTE (см. следующий раздел).

📊 Как часто вы сталкиваетесь с лишними пробелами в Excel?
Постоянно
Иногда
Редко
Никогда

3. SUBSTITUTE: замена конкретных пробелов

Функция SUBSTITUTE (ПОДСТАВИТЬ) позволяет целенаправленно заменять любые символы, включая пробелы. Например, чтобы удалить все пробелы (включая пробелы между словами), используйте:

=SUBSTITUTE(A1; " "; "")

А чтобы заменить неразрывные пробелы (код 160) на обычные (код 32), используйте функцию CHAR:

=SUBSTITUTE(A1; CHAR(160); CHAR(32))

Для комплексной очистки комбинируйте SUBSTITUTE с TRIM и CLEAN:

=TRIM(CLEAN(SUBSTITUTE(SUBSTITUTE(A1; CHAR(160); " "); "  "; " ")))
  • 🔹 CHAR(160) — неразрывный пробел (вставляется через Alt+0160).
  • 🔹 CHAR(9) — табуляция.
  • 🔹 " " — двойной пробел (заменяем на одинарный).

Если нужно удалить только пробелы в начале или конце, используйте комбинацию LEFT/RIGHT с LEN:

=IF(LEFT(A1,1)=" ", RIGHT(A1,LEN(A1)-1), A1)

Убедитесь, что включен режим отображения непечатаемых символов (Главная → Абзац → ¶)

Проверьте коды символов с помощью =КОДСИМВ(СИМВОЛ(1))

Используйте LEN для подсчёта символов до и после очистки

Тестируйте формулы на копии данных-->

4. Power Query: очистка пробелов в больших таблицах

Если данных много (тысячи строк), ручное применение формул неэффективно. В этом случае поможет Power Query — инструмент для преобразования данных, доступный в Excel 2016+ и Microsoft 365.

Алгоритм действий:

  1. Выделите диапазон данных и перейдите на вкладку Данные → Получить данные → Из таблицы/диапазона.
  2. В открывшемся редакторе Power Query выделите столбец с текстом.
  3. На вкладке Преобразование выберите Формат → Очистить → Очистить пробелы (Trim).
  4. Для замены неразрывных пробелов используйте Заменить значения (введите CHAR(160) в поле "Найти" и пробел в поле "Заменить на").
  5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

Преимущество Power Query — неразрушающая обработка: исходные данные остаются нетронутыми, а результаты загружаются в новую таблицу. Кроме того, вы можете сохранить шаги очистки и применять их повторно при обновлении данных.

Как удалить пробелы в Power Query с помощью кода M

Используйте этот код в редакторе Power Query (вкладка "Дополнительно"):

= Table.TransformColumns(#"Предыдущий шаг",{{"Название столбца", each Text.Clean(Text.Trim(_)), type text}})

Где "Название столбца" — имя вашего столбца с текстом.

5. Макросы VBA: автоматизация для опытных пользователей

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

Sub RemoveAllSpaces()

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(cell.Value)

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

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

cell.Value = WorksheetFunction.Clean(cell.Value)

End If

Next cell

End Sub

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

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

Для удаления всех пробелов (включая пробелы между словами) замените строку:

cell.Value = Replace(cell.Value, " ", "")
⚠️ Внимание: Макросы могут конфликтовать с защищёнными листами или книгами. Перед запуском сохраните файл и проверьте настройки безопасности (Файл → Параметры → Центр управления безопасностью → Параметры центра управления безопасностью → Настройка макросов).

6. Надстройка "Текст по столбцам": альтернативный метод

Малоизвестный способ очистки пробелов — использование инструмента Текст по столбцам (Данные → Текст по столбцам). Этот метод полезен, если пробелы являются разделителями (например, в данных типа "Иванов И.И. 1985").

Алгоритм:

  1. Выделите столбец с данными.
  2. Перейдите в Данные → Текст по столбцам.
  3. Выберите С разделителями → Далее.
  4. Снимите все галочки (уберите разделители Табуляция, Точка с запятой и т. д.) и оставьте только Пробел.
  5. Нажмите Готово. Excel разобьёт текст по пробелам, а затем вы сможете объединить данные обратно без лишних символов.

Этот метод не удаляет пробелы, а разделяет текст по ним, что иногда удобнее, чем формулы. Например, если у вас в ячейке "Адрес: ул. Ленина, 10 ", после разбивки вы получите чистые данные в отдельных столбцах.

7. Регулярные выражения (для Excel с надстройками)

Если вы используете надстройки вроде Kutools for Excel или ASAP Utilities, можно применить регулярные выражения (RegEx) для сложной очистки. Например, чтобы удалить:

  • 📌 Все пробелы: регулярное выражение \s+ (заменить на пустую строку).
  • 📌 Пробелы в начале/конце: ^\s+|\s+$.
  • 📌 Неразрывные пробелы: \u00A0.

Пример использования в Kutools:

  1. Выделите диапазон.
  2. Перейдите в Kutools → Text → Find and Replace with Regular Expression.
  3. В поле "Find" введите \s+, в поле "Replace" оставьте пусто.
  4. Нажмите Replace All.

Регулярные выражения — самый мощный инструмент, но требует установки сторонних надстроек. Бесплатная альтернатива — использование Notepad++ или Sublime Text для предварительной очистки данных перед импортом в Excel.

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

Почему функция TRIM не удаляет пробелы в моей таблице?

Скорее всего, в ваших данных используются неразрывные пробелы (код 160) или другие непечатаемые символы. Проверьте коды символов с помощью функции =КОДСИМВ(СИМВОЛ(1)) и примените SUBSTITUTE для их замены. Также убедитесь, что ячейки не содержат скрытых символов форматирования (например, после копирования из Word).

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

Используйте Power Query или макрос VBA. Power Query позволяет очистить данные без изменения исходников и сохраняет шаги для повторного использования. Макрос подходит для одноразовой обработки больших объёмов. Также можно экспортировать данные в Notepad++ и применить замену по регулярному выражению \s+.

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

Да, при импорте через Данные → Из текстового файла на шаге преобразования в Power Query выберите Очистить пробелы. Также настройте разделители — если в CSV используются запятые, а пробелы лишние, укажите только запятую как разделитель.

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

Проблема может быть связана с остаточными непечатаемыми символами (например, символами конца строки CHAR(13)). Примените функцию CLEAN или проверьте данные с помощью =LEN(A1) — если длина строки не совпадает с видимым количеством символов, значит, есть скрытые символы. Также убедитесь, что регистр букв совпадает (Excel различает "текст" и "Текст").

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

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

=SUBSTITUTE(SUBSTITUTE(A1; "   "; "  "); "  "; " ")

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