Лишние пробелы в ячейках Microsoft Excel — одна из самых распространённых проблем при работе с текстовыми данными. Они появляются при импорте из других систем, копировании с веб-страниц или ручном вводе, а потом мешают сортировке, фильтрации и даже формулам. Например, функция ВПР не найдёт значение "Привет" в ячейке с " Привет ", а сводная таблица посчитает их как два разных элемента.
В этой статье разберём 7 проверенных способов удаления пробелов — от базовых (подходящих новичкам) до автоматизированных (для обработки тысяч строк). Особое внимание уделим скрытым неразрывным пробелам (они выглядят как обычные, но не удаляются стандартными методами) и ситуациям, когда пробелы нужны только в начале или конце текста.
Все инструкции актуальны для Excel 2010–2023 и Microsoft 365, включая веб-версию. Если вы работаете с Google Таблицами, большинство методов тоже применимы — различия укажем отдельно.
1. Функция TRIM (СЖПРОБЕЛЫ): быстрое удаление лишних пробелов
Самый простой способ очистить ячейки — использовать встроенную функцию TRIM (в русской версии — СЖПРОБЕЛЫ). Она удаляет:
- 📌 Ведущие пробелы (в начале текста)
- 📌 Заключительные пробелы (в конце текста)
- 📌 Множественные пробелы между словами (оставляет только один)
Формула выглядит так:
=TRIM(A1)
или для русской версии:
=СЖПРОБЕЛЫ(A1)
Чтобы применить её ко всему столбцу:
- Введите формулу в первую ячейку нового столбца (например,
B1). - Протяните маркер автозаполнения вниз.
- Скопируйте результаты (
Ctrl+C) и вставьте как значения (Правая кнопка → Значения) поверх исходных данных.
Ограничение: TRIM не удаляет неразрывные пробелы (код символа 160), которые часто встречаются в данных, скопированных с веб-сайтов. Для них потребуются другие методы.
2. Поиск и замена: ручное удаление пробелов
Если пробелов мало и они однотипные, проще воспользоваться инструментом "Найти и заменить" (Ctrl+H). Этот метод подходит для:
- 🔍 Удаления всех пробелов (включая между словами)
- 🔍 Замены множественных пробелов на одиночные
- 🔍 Удаления пробелов только в начале или конце текста
Инструкция для удаления всех пробелов:
- Выделите диапазон ячеек.
- Нажмите
Ctrl+H. - В поле "Найти" введите пробел (нажмите клавишу
Space). - Поле "Заменить на" оставьте пустым.
- Нажмите "Заменить всё".
Чтобы заменить несколько пробелов на один, используйте подстановочные знаки:
- В поле "Найти" введите
{2,}(пробел + фигурные скобки). - В поле "Заменить на" введите один пробел.
- Активируйте опцию "Подстановочные знаки" (кнопка "Больше >>").
Как удалить пробелы только в начале или конце текста?
Используйте формулы с LEFT/RIGHT + LEN:
- Для удаления пробелов в начале:
=RIGHT(A1;LEN(A1)-FIND(MID(TRIM(A1);1;1);A1)+1) - Для удаления пробелов в конце:
=LEFT(A1;FIND("~";SUBSTITUTE(A1;" ";"~";LEN(A1)-LEN(SUBSTITUTE(A1;" ";""))))-1)
3. Функция CLEAN (ПЕЧСИМВ): удаление непечатаемых символов
Иногда пробелы в Excel — это невидимые непечатаемые символы (например, символы табуляции или перевода строки). Для их удаления используйте функцию CLEAN (в русской версии — ПЕЧСИМВ):
=CLEAN(A1)
Она удаляет первые 32 символа из таблицы ASCII (коды 0–31), включая:
- 🗑️ Символы табуляции (
Char(9)) - 🗑️ Переводы строк (
Char(10)иChar(13)) - 🗑️ Символы начала/конца текста
Важно: CLEAN не удаляет обычные пробелы (код 32) и неразрывные пробелы (код 160). Для комплексной очистки комбинируйте её с TRIM:
=TRIM(CLEAN(A1))
Выделите ячейку с подозрительным пробелом|Нажмите F2 (режим редактирования)|Посмотрите на строку формул — есть ли там невидимые символы (например, → для табуляции)|Проверьте длину текста функцией LEN — если она больше видимого количества символов, есть скрытые знаки
-->
4. Неразрывные пробелы: как обнаружить и удалить
Неразрывные пробелы (код 160) внешне неотличимы от обычных, но не удаляются функциями TRIM или CLEAN. Они часто встречаются в данных, скопированных с веб-сайтов (например, из WordPress или 1С).
Чтобы их обнаружить:
- Выделите ячейку и нажмите
F2. - Удерживая
Alt, наберите на цифровой клавиатуре0160— если курсор переместится к пробелу, это неразрывный символ.
Способы удаления:
- Поиск и замена:
- Нажмите
Ctrl+H. - В поле "Найти" введите неразрывный пробел (удерживая
Alt, наберите0160на цифровой клавиатуре). - Поле "Заменить на" оставьте пустым.
- Нажмите
SUBSTITUTE:
=SUBSTITUTE(A1;CHAR(160);" ")
Здесь CHAR(160) — неразрывный пробел, а " " — обычный (или оставьте пустые кавычки для полного удаления).
5. Power Query: очистка больших массивов данных
Если вам нужно очистить тысячи строк, ручные методы неэффективны. В этом случае используйте Power Query (в Excel 2016+ и Microsoft 365):
- Выделите диапазон данных.
- Перейдите на вкладку
Данные → Из таблицы/диапазона(в Excel 2016 —Получить данные → Из таблицы/диапазона). - В открывшемся редакторе Power Query выделите столбец с пробелами.
- На вкладке
Преобразованиевыберите:- 🧹
Очистить → Обрезать(удалит пробелы в начале/конце) - 🧹
Заменить значения(для замены неразрывных пробелов)
- 🧹
Закрыть и загрузить, чтобы вернуть данные в Excel.Преимущества Power Query:
- ⚡ Обрабатывает миллионы строк без замедления.
- ⚡ Сохраняет шаги очистки — при обновлении данных пробелы удалятся автоматически.
- ⚡ Можно комбинировать с другими преобразованиями (разделение столбцов, изменение регистра и т. д.).
Совет: Если вам часто приходится очищать данные, сохраните запрос Power Query как шаблон — это сэкономит время в будущем.
6. Макросы VBA: автоматизация для продвинутых пользователей
Для регулярной очистки данных напишите простой макрос на VBA. Он удалит все типы пробелов (включая неразрывные) за один клик.
Инструкция:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте новый модуль (
Insert → Module). - Скопируйте этот код:
Sub RemoveAllSpaces()Dim rng As Range
Dim cell As Range
Set rng = Selection
For Each cell In rng
cell.Value = WorksheetFunction.Trim(Replace(Replace(cell.Value, Chr(160), " "), " ", " "))
Next cell
End Sub
- Закройте редактор и вернитесь в Excel.
- Выделите ячейки с пробелами и запустите макрос (
Alt+F8 → RemoveAllSpaces → Выполнить).
Что делает этот макрос:
- 🤖 Заменяет неразрывные пробелы (
Chr(160)) на обычные. - 🤖 Удаляет все пробелы (включая между словами).
- 🤖 Применяется к выделенному диапазону.
7. Комбинации функций для сложных случаев
Если пробелы комбинируются с другими символами (например, точками или запятыми), используйте вложенные функции. Примеры:
Удаление пробелов перед запятой:
=SUBSTITUTE(A1;", ";",";
Удаление пробелов и приведение к нижнему регистру:
=LOWER(TRIM(CLEAN(SUBSTITUTE(A1;CHAR(160);" "))))
Удаление пробелов и замена нескольких пробелов на один:
=TRIM(SUBSTITUTE(SUBSTITUTE(A1;" ";" ");" ";" "))
Для визуального контроля используйте функцию LEN, чтобы сравнить длину текста до и после очистки:
=LEN(A1) ' Длина исходного текста
=LEN(TRIM(A1)) ' Длина после удаления пробелов
Как удалить пробелы в формулах массива?
Используйте TRIM внутри формулы массива (вводится с Ctrl+Shift+Enter в старых версиях Excel):
=TRIM(TRANSPOSE(IF(ISNONTEXT(A1:A10);"";A1:A10)))
В Excel 365 формулы массива вводятся без Ctrl+Shift+Enter.
Сравнение методов: какой выбрать?
Выбор способа зависит от задачи. В таблице ниже — сравнение по ключевым параметрам:
| Метод | Типы пробелов | Скорость | Автоматизация | Сложность |
|---|---|---|---|---|
TRIM |
Обычные (не неразрывные) | ⚡ Быстро | ❌ Нет | ⭐ Очень просто |
| Поиск и замена | Все (включая неразрывные) | ⚡ Быстро | ❌ Нет | ⭐ Просто |
CLEAN |
Непечатаемые символы | ⚡ Быстро | ❌ Нет | ⭐ Просто |
| Power Query | Все типы | ⚡⚡ Очень быстро | ✅ Да | ⭐⭐ Средне |
| Макросы VBA | Все типы | ⚡⚡⚡ Мгновенно | ✅ Да | ⭐⭐⭐ Сложно |
Рекомендации:
- 🔹 Для разовых задач (1–100 строк) хватит
TRIM+ поиска/замены. - 🔹 Для регулярной очистки (1000+ строк) настройте Power Query.
- 🔹 Если пробелы комбинируются с другими символами, используйте вложенные функции.
- 🔹 Для полной автоматизации (например, при импорте данных) напишите макрос VBA.
FAQ: Частые вопросы по удалению пробелов
❓ Почему после применения TRIM пробелы остаются?
Скорее всего, в тексте есть неразрывные пробелы (код 160). Они не удаляются функцией TRIM. Используйте комбинацию:
=TRIM(SUBSTITUTE(A1;CHAR(160);" "))
или замените их вручную через Ctrl+H (в поле "Найти" введите неразрывный пробел, удерживая Alt+0160).
❓ Как удалить пробелы только в начале или конце текста?
Используйте формулы:
- Для удаления пробелов в начале:
=MID(A1;FIND(MID(TRIM(A1);1;1);A1);LEN(A1)) - Для удаления пробелов в конце:
=LEFT(A1;FIND("~";SUBSTITUTE(A1;" ";"~";LEN(A1)-LEN(SUBSTITUTE(A1;" ";""))))-1)
Или воспользуйтесь Power Query (опция "Обрезать").
❓ Можно ли удалить пробелы без формул?
Да, есть три способа без формул:
- Поиск и замена (
Ctrl+H). - Power Query (вкладка "Данные → Из таблицы/диапазона").
- Текстовый редактор: скопируйте данные в Блокнот, замените пробелы там, затем вставьте обратно в Excel.
❓ Как удалить пробелы в Google Таблицах?
В Google Таблицах работают те же функции, но с английскими названиями:
=TRIM(A1)— удаляет лишние пробелы.=CLEAN(A1)— удаляет непечатаемые символы.=SUBSTITUTE(A1;CHAR(160);" ")— заменяет неразрывные пробелы.
Также доступен инструмент "Найти и заменить" (Ctrl+H).
❓ Почему после удаления пробелов данные не сортируются правильно?
Возможные причины:
- 🔸 В тексте остались невидимые символы (проверьте с помощью
LENиCODE). - 🔸 Данные имеют разный регистр (используйте
=LOWER()или=UPPER()для унификации). - 🔸 В ячейках есть пробелы нулевой ширины (код 8203). Удалите их через
SUBSTITUTE(A1;UNICHAR(8203);"").