Лишние пробелы в ячейках Excel — одна из самых распространённых проблем при работе с текстовыми данными. Они появляются при импорте данных из других систем, копировании с веб-страниц или даже при ручном вводе. Эти "невидимые" символы мешают сортировке, фильтрации и анализу данных, а иногда приводят к ошибкам в формулах. Например, функции ВПР или СЧЁТЕСЛИ могут не распознать одинаковые на первый взгляд значения из-за скрытых пробелов.
В этой статье мы разберём 7 проверенных способов удаления пробелов — от базовых функций до автоматизированных решений. Вы узнаете, как обработать как ведущие/конечные пробелы (в начале и конце текста), так и многократные пробелы между словами. Особое внимание уделим нюансам, которые часто упускают в стандартных инструкциях: например, как сохранить форматирование ячеек или обработать данные в столбцах с формулами.
Все методы протестированы в Microsoft Excel 2019-2026 и Excel 365, но большинство из них работают и в более ранних версиях (начиная с Excel 2007). Для пользователей Google Sheets мы также укажем особенности реализации.
1. Функция TRIM: быстрое удаление лишних пробелов
Функция СЖПРОБЕЛЫ (или TRIM в английской версии) — это первый инструмент, к которому стоит обратиться. Она удаляет все пробелы в начале и конце текста, а также сокращает несколько пробелов между словами до одного. Синтаксис простейший:
=СЖПРОБЕЛЫ(текст)
Пример использования:
- 📌 Введите в ячейку
B1формулу=СЖПРОБЕЛЫ(A1), если исходный текст вA1. - 📌 Растяните формулу на весь столбец с помощью маркера автозаполнения.
- 📌 Скопируйте результаты (
Ctrl+C) и вставьте как значения (ПКМ → Специальная вставка → Значения), чтобы избавиться от формул.
Ограничения функции СЖПРОБЕЛЫ:
- ❌ Не удаляет неразрывные пробелы (встречаются при копировании с веб-сайтов).
- ❌ Не работает с пробелами внутри чисел (например, "1 000" останется без изменений).
- ❌ Не обрабатывает табуляции или переводы строк (символы
CHAR(9)иCHAR(10)).
2. Комбинация SUBSTITUTE + TRIM: удаление неразрывных пробелов
Если СЖПРОБЕЛЫ не справилась, проблема может быть в неразрывных пробелах (HTML-код ). Они выглядят как обычные, но имеют другой символ в кодировке (CHAR(160)). Чтобы их удалить, используйте ПОДСТАВИТЬ:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" "))
Разберём формулу по шагам:
СИМВОЛ(160)— возвращает неразрывный пробел.ПОДСТАВИТЬзаменяет всеCHAR(160)на обычные пробелы.СЖПРОБЕЛЫудаляет лишние пробелы (включая те, что были неразрывными).
Для надёжности можно добавить обработку других "проблемных" символов:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");СИМВОЛ(9);" ");СИМВОЛ(10);" "))
Эта формула заменяет:
- 🔹 Неразрывные пробелы (
CHAR(160)) → обычный пробел. - 🔹 Табуляции (
CHAR(9)) → пробел. - 🔹 Переводы строк (
CHAR(10)) → пробел.
3. Power Query: обработка больших массивов данных
Если вам нужно очистить тысячи строк или данные обновляются регулярно, Power Query (вкладка Данные → Получить данные) станет лучшим решением. Этот инструмент позволяет создавать повторяемые процессы очистки без формул.
Пошаговая инструкция:
- Выделите диапазон данных и нажмите
Данные → Из таблицы/диапазона(илиGet Data → From Table/Range). - В открывшемся редакторе Power Query выберите столбец с пробелами.
- Перейдите на вкладку
Преобразование(Transform) и выберитеФормат → Очистить → Обрезать(Trim). - Для удаления всех пробелов (включая между словами) используйте
Заменить значения(Replace Values): в поле "Найти" введите пробел, в "Заменить на" оставьте пустым. - Нажмите
Закрыть и загрузить(Close & Load).
Преимущества Power Query:
- ✅ Обрабатывает миллионы строк без замедления.
- ✅ Сохраняет шаги очистки для повторного использования.
- ✅ Можно объединять с другими преобразованиями (разделение столбцов, изменение типов данных и т.д.).
Выгрузить данные в Power Query|Выбрать целевой столбец|Применить Trim для обрезки пробелов|Заменить пробелы на пустоту (если нужно)|Проверка результата в предварительном просмотре|Загрузка данных обратно в Excel-->
Важно: После загрузки данных через Power Query исходный диапазон становится динамической таблицей. Чтобы вернуть обычный диапазон, скопируйте результаты и вставьте как значения.
4. Макросы VBA: автоматизация для продвинутых пользователей
Если вам приходится очищать пробелы регулярно, стоит автоматизировать процесс с помощью VBA. Ниже приведён макрос, который удаляет все пробелы (включая между словами) в выделенном диапазоне:
Sub УдалитьВсеПробелы()
Dim rng As Range
Dim cell As Range
Set rng = Selection
For Each cell In rng
If Not IsEmpty(cell) Then
cell.Value = Replace(cell.Value, " ", "")
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите диапазон и запустите макрос (
Alt+F8 → УдалитьВсеПробелы → Выполнить).
Для более гибкой обработки (например, сохранения пробелов между словами) используйте этот вариант:
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(cell.Value)
cell.Value = Replace(cell.Value, Chr(160), " ")
End If
Next cell
End Sub
Как сохранить макрос для повторного использования?
1. В редакторе VBA нажмите File → Export File и сохраните как .bas.
2. Для быстрого доступа назначьте макросу сочетание клавиш: Alt+F8 → Параметры → Сочетание клавиш (например, Ctrl+Shift+S).
3. Чтобы макрос был доступен во всех книгах, сохраните его в Персональной книге макросов (Personal.xlsb).
⚠️ Внимание: Макросы отключают защиту книги. Если вы работаете с конфиденциальными данными, сохраните резервную копию перед запуском.
5. Найти и заменить: ручной метод для небольших наборов данных
Если данных мало, можно обойтись без формул. Используйте стандартную функцию Найти и заменить (Ctrl+H):
- Выделите диапазон с данными.
- Нажмите
Ctrl+H(илиГлавная → Найти и выделить → Заменить). - В поле "Найти" введите пробел (нажмите
Пробелодин раз). - Поле "Заменить на" оставьте пустым.
- Нажмите
Заменить всё.
Нюансы метода:
- ✅ Быстро для небольших таблиц (до 1000 строк).
- ❌ Удаляет все пробелы, включая необходимые между словами.
- ❌ Не работает с неразрывными пробелами (нужно вводить
CHAR(160)вручную).
Чтобы удалить только ведущие/конечные пробелы, используйте этот трюк:
- В поле "Найти" введите
^*(звёздочка после знака каретки). - В поле "Заменить на" введите
^(только каретка). - Повторите замену для конечных пробелов: "Найти" —
*^, "Заменить на" —^.
6. Специальные символы: как удалить табуляции и переводы строк
Пробелы — не единственные "невидимые" символы, которые портят данные. Часто в ячейках встречаются:
| Символ | Код в Excel | Откуда берётся | Как удалить |
|---|---|---|---|
| Табуляция | CHAR(9) |
Копирование из текстовых редакторов | =ПОДСТАВИТЬ(A1;CHAR(9);" ") |
| Перевод строки | CHAR(10) |
Импорт из CSV или баз данных | =ПОДСТАВИТЬ(A1;CHAR(10);" ") |
| Возврат каретки | CHAR(13) |
Тексты из Windows-приложений | =ПОДСТАВИТЬ(A1;CHAR(13);"") |
| Неразрывный пробел | CHAR(160) |
Копирование с веб-страниц | =ПОДСТАВИТЬ(A1;CHAR(160);" ") |
Чтобы удалить все специальные символы сразу, используйте вложенную функцию:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
A1;
CHAR(9);" ");
CHAR(10);" ");
CHAR(13);"");
CHAR(160);" "))
⚠️ Внимание: Если в ваших данных используются разрывы строк для форматирования (например, адреса с переносами), замена CHAR(10) на пробел испортит структуру. В таких случаях лучше использовать Power Query или VBA для избирательной очистки.
7. Проблемы с пробелами в числовых данных
Пробелы в числах (например, "1 000 500") или датах ("01 . 01 . 2026") — отдельная головная боль. Здесь СЖПРОБЕЛЫ не поможет, так как Excel воспринимает такие ячейки как текст. Решения:
Для чисел:
- 🔢 Используйте
=ПОДСТАВИТЬ(A1;" ":""), чтобы удалить все пробелы. - 🔢 Преобразуйте текст в число с помощью
=ЗНАЧЕН(A1)(если пробелы уже удалены). - 🔢 В Power Query выберите столбец →
Преобразовать → Заменить значения(пробел на пустоту) →Изменить тип → Число.
Для дат:
- 📅 Удалите пробелы:
=ПОДСТАВИТЬ(A1;" ":""). - 📅 Преобразуйте в дату:
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;" ":"")). - 📅 В Power Query используйте
Date.FromTextпосле очистки пробелов.
Пример для даты "01 . 01 . 2026":
=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ":"");".";"/"))
Эта формула:
- Удаляет пробелы (
ПОДСТАВИТЬ(A1;" ":"")). - Заменяет точки на слэши (
ПОДСТАВИТЬ(..."; "."; "/")), так какДАТАЗНАЧраспознаёт форматдд/мм/гггг. - Преобразует текст в дату.
FAQ: Частые вопросы по удалению пробелов в Excel
❓ Почему после применения СЖПРОБЕЛЫ пробелы остаются?
Скорее всего, в тексте используются неразрывные пробелы (CHAR(160)). Попробуйте комбинацию:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" "))
Также проверьте текст на наличие табуляций (CHAR(9)) или переводов строк (CHAR(10)).
❓ Как удалить пробелы в формулах (например, в результатах ВПР)?
Оберните формулу в СЖПРОБЕЛЫ:
=СЖПРОБЕЛЫ(ВПР(...))
Если пробелы появляются в исходных данных, очистите их до использования ВПР. Например:
=ВПР(СЖПРОБЕЛЫ(A1);Диапазон;Номер_столбца;0)
❓ Можно ли удалить пробелы без потери форматирования ячеек?
Да, но нужно действовать осторожно:
- Скопируйте столбец с форматированием в новый столбец (
ПКМ → Специальная вставка → Форматы). - Очистите пробелы в исходном столбце (например, через
СЖПРОБЕЛЫ). - Скопируйте очищенные данные и вставьте поверх отформатированного столбца (
ПКМ → Специальная вставка → Значения).
В Power Query форматирование теряется, но его можно восстановить после загрузки данных.
❓ Как удалить пробелы в Google Sheets?
В Google Sheets используйте те же функции, но с английскими названиями:
=TRIM(A1)— аналогСЖПРОБЕЛЫ.=SUBSTITUTE(A1;CHAR(160);" ")— для неразрывных пробелов.=REGEXREPLACE(A1;"\s+";" ")— удаляет все многократные пробелы (включая табуляции).
Для массовой очистки используйте Find and Replace (Ctrl+H) или Apps Script (аналог VBA).
❓ Почему после очистки пробелов данные не сортируются правильно?
Возможные причины:
- Скрытые символы: Проверьте ячейки на наличие
CHAR(160),CHAR(9)илиCHAR(10). - Разные регистры: Функция
СЖПРОБЕЛЫне влияет на регистр. Используйте=ПРОПИСН(СЖПРОБЕЛЫ(A1))для унификации. - Ведущие нули: Excel удаляет их в числовых данных. Сохраните формат текста или используйте
=ТЕКСТ(A1;"0").
Для надёжной сортировки преобразуйте данные в таблицу Excel (Ctrl+T) и проверьте столбцы на наличие скрытых символов.