Лишние пробелы в ячейках Excel — одна из самых распространённых проблем при работе с текстом. Они появляются после импорта данных из других источников (например, 1С, CSV или веб-форм), копирования из интернета или неаккуратного ввода. Эти "невидимые" символы портят сортировку, мешают функциям ВПР/ПОИСКПОЗ, искажают результаты сводных таблиц и даже могут привести к ошибкам в формулах.
В этой статье вы найдёте 5 проверенных способов удалить пробелы между словами — от базовых (подойдут новичкам) до автоматизированных (для обработки тысяч строк). Мы разберём, как работать с функциями TRIM/ПЕЧСИМВ, инструментом "Найти и заменить", а также создадим макрос для массовой очистки. Особое внимание уделим скрытым пробелам (неразрывным, табуляциям), которые не убираются стандартными методами.
Прежде чем приступать, проверьте: а точно ли проблема в пробелах? Иногда визуально "лишние" отступы создают другие символы — например, CHAR(160) (неразрывный пробел) или CHAR(9) (табуляция). Их стандартная функция TRIM не удаляет! Чтобы диагностировать это, используйте формулу =КОДСИМВ(ЛЕВСИМВ(A1;1)) — она покажет код первого символа в ячейке.
1. Функция TRIM (ПЕЧСИМВ) — базовый метод для удаления пробелов
Функция TRIM (в русской версии Excel — ПЕЧСИМВ) удаляет все лишние пробелы между словами, оставляя только по одному. Она также убирает пробелы в начале и конце текста. Это самый простой способ, который работает во всех версиях Excel (начиная с 2003).
Синтаксис функции:
=TRIM(текст)
или
=ПЕЧСИМВ(текст)
где текст — это ссылка на ячейку (например, A1) или текст в кавычках.
Пример использования:
- 📌 Если в ячейке
A1содержится текст" Привет мир ", формула=ПЕЧСИМВ(A1)вернёт"Привет мир". - 📌 Функция не удаляет неразрывные пробелы (CHAR(160)) — для них нужен отдельный подход (см. раздел 4).
- 📌 TRIM не изменяет исходную ячейку — результат нужно копировать и вставлять как значения.
Чтобы применить TRIM ко всему столбцу:
- Введите формулу в первую ячейку (например,
=ПЕЧСИМВ(A1)вB1). - Протяните маркер автозаполнения до конца данных.
- Выделите результаты, скопируйте (
Ctrl+C) и вставьте как значения (Ctrl+Shift+V→ "Значения").
⚠️ Внимание: Если после примененияTRIMпробелы остались, проверьте текст на наличие символовCHAR(160)(неразрывный пробел) илиCHAR(9)(табуляция). Их нужно удалять отдельно (см. раздел 4).
2. Инструмент "Найти и заменить" — быстрое решение без формул
Если вам нужно однократно удалить пробелы в небольшом диапазоне, проще всего воспользоваться инструментом Найти и заменить. Этот метод не требует знания функций и работает даже в Excel Online.
Пошаговая инструкция:
- Выделите диапазон ячеек (или весь лист —
Ctrl+A). - Нажмите
Ctrl+H(или перейдите вГлавная → Найти и выделить → Заменить). - В поле
Найтивведите два пробела (нажмите клавишу пробела дважды). - В поле
Заменить навведите один пробел. - Нажмите
Заменить всё.
Повторяйте шаги 3–5, пока Excel не сообщит, что заменено 0 вхождений. Это значит, что лишние пробелы между словами удалены.
Ограничения метода:
- 🚫 Не удаляет пробелы в начале и конце текста (только между словами).
- 🚫 Не работает с неразрывными пробелами (
CHAR(160)). - 🚫 Может зациклиться, если в тексте есть тройные или более пробелы (придётся запускать замену несколько раз).
Сделать резервную копию данных (Ctrl+C → вставить на новый лист)
Проверить, нет ли в тексте намеренных двойных пробелов (например, в адресах)
Убедиться, что выделен правильный диапазон ячеек
Закрыть другие программы, чтобы не прервать процесс-->
3. Комбинация функций для удаления ВСЕХ типов пробелов
Если в ваших данных встречаются неразрывные пробелы (CHAR(160)), табуляции (CHAR(9)) или другие "невидимые" символы, стандартная TRIM не поможет. В этом случае используйте комбинацию функций:
=ПЕЧСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");СИМВОЛ(9);" "))
Разбор формулы:
СИМВОЛ(160)— неразрывный пробел (вставляется черезAlt+0160на клавиатуре).ПОДСТАВИТЬзаменяет всеCHAR(160)на обычные пробелы.СИМВОЛ(9)— символ табуляции.ПЕЧСИМВудаляет лишние пробелы (включая те, что были заменены на предыдущем шаге).
Для удобства можно создать пользовательскую функцию (макрос) с этим кодом, если вам часто приходится очищать такие данные. Об этом — в разделе 5.
Когда использовать этот метод:
- 🔹 Данные импортированы из PDF, Word или веб-страниц (там часто встречаются
CHAR(160)). - 🔹 Текст содержит табуляции (например, после копирования из Notepad++).
- 🔹 Функция
TRIMне даёт результата.
| Символ | Код (CHAR) | Как вставить вручную | Удаляется ли TRIM? |
|---|---|---|---|
| Обычный пробел | 32 | Клавиша Space |
Да (лишние) |
| Неразрывный пробел | 160 | Alt+0160 |
Нет |
| Табуляция | 9 | Tab |
Нет |
| Перевод строки | 10 | Alt+010 |
Нет |
4. Удаление пробелов с помощью Power Query (для больших файлов)
Если вам нужно очистить десятки тысяч строк, ручные методы будут неэффективны. В этом случае поможет Power Query — инструмент для преобразования данных, встроенный в Excel начиная с версии 2016 (в 2010–2013 устанавливается как надстройка "Получить и преобразовать данные").
Пошаговая инструкция:
- Выделите исходные данные и нажмите
Данные → Получить данные → Из таблицы/диапазона. - В открывшемся окне Power Query выделите столбец с текстом.
- Перейдите на вкладку
Преобразованиеи выберите:Удалить пробелы → Обрезать(уберёт пробелы в начале и конце).Удалить пробелы → Очистить(заменит несколько пробелов на один).
Главная → Закрыть и загрузить, чтобы вернуть данные в Excel.Преимущества Power Query:
- ✅ Обрабатывает миллионы строк без замедления.
- ✅ Сохраняет шаги очистки — при обновлении данных пробелы будут удаляться автоматически.
- ✅ Можно комбинировать с другими преобразованиями (замена текста, разбивка столбцов и т. д.).
⚠️ Внимание: Power Query создаёт новую таблицу вместо исходных данных. Если вам нужно сохранить оригинал, предварительно сделайте его копию (Ctrl+C → вставить на новый лист).
5. Макрос для автоматической очистки пробелов (VBA)
Если вам регулярно приходится удалять пробелы в больших файлах, имеет смысл создать макрос на VBA. Он будет удалять:
- 🔸 Лишние пробелы между словами.
- 🔸 Пробелы в начале и конце текста.
- 🔸 Неразрывные пробелы (
CHAR(160)). - 🔸 Табуляции (
CHAR(9)).
Код макроса:
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 = Trim(Replace(Replace(cell.Value, Chr(160), " "), Chr(9), " "))
cell.Value = WorksheetFunction.Trim(cell.Value)
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt+F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите нужный диапазон и запустите макрос (
Alt+F8→ выберитеRemoveAllSpaces→Выполнить).
Преимущества макроса:
- 🚀 Работает в 100 раз быстрее, чем ручная замена.
- 🚀 Обрабатывает несколько столбцов одновременно.
- 🚀 Можно назначить на горячую клавишу (например,
Ctrl+Shift+S).
⚠️ Внимание: Перед первым запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе Excel заблокирует его выполнение.
Как назначить макрос на горячую клавишу?
1. Откройте окно макросов (Alt+F8).
2. Выберите RemoveAllSpaces и нажмите Параметры.
3. В поле Сочетание клавиш введите желаемую комбинацию (например, S для Ctrl+Shift+S).
4. Нажмите OK и Отмена, чтобы закрыть окно.
6. Проверка результата: как убедиться, что пробелы удалены
После очистки данных важно проверить, что пробелы действительно удалены. Вот 3 способа диагностики:
1. Визуальный осмотр
- 🔍 Включите отображение непечатаемых символов (
Главная → Абзац → ¶). Пробелы будут отображаться как точки (·). - 🔍 Увеличьте масштаб (
Ctrl+Колесо мыши) и проверьте начала/концы строк.
2. Формулы для проверки
- 📊
=ДЛСТР(A1)— покажет длину текста. Если после очистки она уменьшилась, пробелы были удалены. - 📊
=НАЙТИ(" ";A1)— вернёт ошибку#ЗНАЧ!, если двойных пробелов нет. - 📊
=КОДСИМВ(ЛЕВСИМВ(A1;1))=160— проверит первый символ на неразрывный пробел.
3. Условное форматирование
- Выделите диапазон и перейдите в
Главная → Условное форматирование → Создать правило. - Выберите
Использовать формулу...и введите:=НЕ(А1=ПЕЧСИМВ(A1)) - Задайте формат (например, красный фон) и нажмите
OK.
Ячейки с лишними пробелами будут подсвечены.
FAQ: Частые вопросы по удалению пробелов в Excel
Можно ли удалить пробелы только в начале и конце текста, не трогая пробелы между словами?
Да, для этого используйте функцию TRIM (ПЕЧСИМВ) — она удаляет пробелы только по краям текста, но сохраняет одиночные пробелы между словами. Альтернатива — функция =СЖПРОБЕЛЫ(A1) (в новых версиях Excel).
Почему после применения TRIM пробелы остаются?
Скорее всего, в тексте используются неразрывные пробелы (CHAR(160)) или табуляции (CHAR(9)). Их нужно удалять отдельно (см. раздел 3). Также проверьте, не являются ли "пробелы" на самом деле другими символами (например, точками или подчёркиваниями).
Как удалить ВСЕ пробелы, включая пробелы между словами?
Используйте функцию =ПОДСТАВИТЬ(A1;" ";") — она заменит все пробелы на пустую строку. Обратите внимание: после этого текст слипнется (например, "Привет мир" станет "Приветмир").
Можно ли автоматизировать удаление пробелов при импорте данных?
Да, для этого подходит Power Query (см. раздел 4). Создайте запрос с шагами очистки и сохраните его. При следующем импорте данных из того же источника пробелы будут удаляться автоматически.
Как удалить пробелы в Google Таблицах?
В Google Sheets работают те же принципы:
- Функция
=TRIM(A1)(аналогПЕЧСИМВ). - Инструмент
Найти и заменить(Ctrl+H). - Для неразрывных пробелов —
=SUBSTITUTE(TRIM(A1);CHAR(160);" ").
Макросы в Google Таблицах пишутся на Google Apps Script (синтаксис отличается от VBA).