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

Почему пробелы в Excel — это проблема?

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

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

В этой статье мы разберём все возможные типы пробелов в Excel (обычные, неразрывные, табуляции) и покажем, как их удалить с помощью встроенных функций, надстроек и даже VBA-макросов. Вы узнаете, какой метод подходит для вашего случая — от ручной правки до полностью автоматизированной очистки.

Типы пробелов в Excel: какие бывают и как их распознать

Не все пробелы одинаковы. В Excel встречаются как минимум 4 типа "невидимых" символов, которые создают пустое пространство в ячейках:

  • 📍 Обычные пробелы — стандартный символ пробела (код 32 в ASCII), который вставляется при нажатии клавиши Space. Их легко заметить, если включить отображение непечатаемых символов.
  • 📍 Неразрывные пробелы — специальный символ (код 160), который не позволяет словам разрываться при переносе строки. Вставляется сочетанием Ctrl+Shift+Space.
  • 📍 Табуляции — символы горизонтального отступа (код 9), которые попадают в Excel при копировании данных из текстового редактора или веб-страницы.
  • 📍 Пробелы в начале/конце строки — часто остаются после импорта данных из CSV или баз данных, где поля выравниваются по ширине.

Чтобы проверить, какие именно пробелы есть в вашей таблице, используйте функцию =КОДСИМВ(СЖПРОБЕЛЫ(A1)) для обычных пробелов или =КОДСИМВ(ПЕЧСИМВ(A1)) для анализа всех символов. Если функция возвращает 32 — это обычный пробел, 160 — неразрывный.

⚠️ Внимание: Неразрывные пробелы не удаляются стандартной функцией TRIM (СЖПРОБЕЛЫ в русской версии). Для них потребуются дополнительные действия.
📊 Как часто вы сталкиваетесь с лишними пробелами в Excel?
Каждый день
Раз в неделю
Редко, но это раздражает
Никогда не замечал проблемы

Способ 1: Функция СЖПРОБЕЛЫ (TRIM) — базовый метод

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

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

Формула для применения:

=СЖПРОБЕЛЫ(A1)

Чтобы применить её ко всему столбцу:

  1. Введите формулу в первую ячейку нового столбца (например, B1).
  2. Протяните маркер автозаполнения вниз до последней строки.
  3. Скопируйте результаты (Ctrl+C) и вставьте их поверх исходных данных с помощью Специальной вставки → Значения.

Ограничение метода: СЖПРОБЕЛЫ не удаляет неразрывные пробелы и табуляции. Для них потребуется комбинация с функцией ПОДСТАВИТЬ (см. следующий раздел).

☑️ Подготовка к очистке данных

Выполнено: 0 / 4

Способ 2: Комбинация ПОДСТАВИТЬ + СЖПРОБЕЛЫ для неразрывных пробелов

Если в ваших данных есть неразрывные пробелы (код 160), стандартная функция СЖПРОБЕЛЫ их не удалит. В этом случае используйте вложенную формулу:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" "))

Эта формула:

  1. Заменяет все неразрывные пробелы (СИМВОЛ(160)) на обычные пробелы.
  2. Применяет СЖПРОБЕЛЫ к результату, убирая лишние пробелы.

Для удаления табуляций (код 9) добавьте ещё одну функцию ПОДСТАВИТЬ:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");СИМВОЛ(9);" "))

Если вам нужно удалить все пробелы вообще (включая пробелы между словами), используйте:

=ПОДСТАВИТЬ(A1;" ":"")
⚠️ Внимание: Последняя формула удаляет все пробелы, включая необходимые для разделения слов. Используйте её только для ячеек с кодами, идентификаторами или другими данными, где пробелы не нужны.

Способ 3: Power Query — автоматическая очистка больших таблиц

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

  • 🔹 Удалить пробелы в начале/конце строк
  • 🔹 Заменить неразрывные пробелы на обычные
  • 🔹 Применить преобразования ко всему файлу за несколько кликов

Инструкция по очистке:

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

Преимущество Power Query в том, что все шаги очистки сохраняются. При следующем обновлении данных (например, при импорте нового CSV-файла) все преобразования применятся автоматически.

Метод Удаляет пробелы в начале/конце Удаляет неразрывные пробелы Удаляет табуляции Подходит для больших таблиц
СЖПРОБЕЛЫ ✅ Да ❌ Нет ❌ Нет ❌ Нет (ручное протягивание)
ПОДСТАВИТЬ + СЖПРОБЕЛЫ ✅ Да ✅ Да ✅ Да (с дополнительной заменой) ❌ Нет
Power Query ✅ Да ✅ Да ✅ Да ✅ Да (автоматизация)
Найти и заменить (Ctrl+H) ✅ Да (только вручную) ✅ Да (если знать код символа) ✅ Да ❌ Нет (ручная замена)

Способ 4: Найти и заменить — быстрый ручной метод

Если пробелов немного и они однотипные, проще всего воспользоваться инструментом Найти и заменить (Ctrl+H). Этот метод подходит для:

  • 🔍 Удаления пробелов в начале/конце строк (если они одинаковые)
  • 🔍 Замены неразрывных пробелов на обычные
  • 🔍 Удаления табуляций

Пошаговая инструкция:

  1. Выделите диапазон ячеек, который нужно очистить.
  2. Нажмите Ctrl+H, чтобы открыть окно Найти и заменить.
  3. Для удаления пробелов в начале строки:
    • В поле "Найти" введите ^ (каретка и пробел).
    • В поле "Заменить на" оставьте пусто.
    • Нажмите Заменить всё.
  4. Для удаления пробелов в конце строки:
    • В поле "Найти" введите $ (пробел и знак доллара).
    • В поле "Заменить на" оставьте пусто.
  • Для замены неразрывных пробелов:
    • В поле "Найти" введите Alt+0160 (удерживая Alt, наберите 0160 на цифровой клавиатуре).
    • В поле "Заменить на" введите обычный пробел.

    Ограничение: этот метод не удаляет множественные пробелы между словами. Для этого всё равно потребуется СЖПРОБЕЛЫ.

    Как вставить неразрывный пробел в поле "Найти"

    Чтобы вставить неразрывный пробел в окно "Найти и заменить", нажмите Alt и, удерживая его, наберите 0160 на цифровой клавиатуре (справа). В поле появится невидимый символ. Если не сработало, скопируйте неразрывный пробел из другой программы (например, Word) и вставьте в поле поиска.

    Способ 5: VBA-макрос для массовой очистки

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

    • 🤖 Удаляет все пробелы в начале и конце строк
    • 🤖 Заменяет множественные пробелы между словами на один
    • 🤖 Удаляет неразрывные пробелы и табуляции
    • 🤖 Работает с выделенным диапазоном или всем листом

    Инструкция по установке макроса:

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

    Dim rng As Range

    Dim cell As Range

    Dim originalValue As String

    Dim cleanedValue As String

    ' Проверяем, выделен ли диапазон

    On Error Resume Next

    Set rng = Selection

    On Error GoTo 0

    ' Если ничего не выделено, работаем с активным листом

    If rng Is Nothing Then

    Set rng = ActiveSheet.UsedRange

    End If

    ' Отключаем обновление экрана для ускорения

    Application.ScreenUpdating = False

    ' Обрабатываем каждую ячейку

    For Each cell In rng

    If cell.HasFormula = False Then ' Пропускаем ячейки с формулами

    originalValue = cell.Value

    ' Заменяем неразрывные пробелы и табуляции на обычные пробелы

    cleanedValue = Replace(originalValue, Chr(160), " ")

    cleanedValue = Replace(cleanedValue, Chr(9), " ")

    ' Удаляем лишние пробелы

    cleanedValue = WorksheetFunction.Trim(cleanedValue)

    ' Заменяем множественные пробелы на один

    Do While InStr(cleanedValue, " ") > 0

    cleanedValue = Replace(cleanedValue, " ", " ")

    Loop

    ' Записываем результат обратно в ячейку

    cell.Value = cleanedValue

    End If

    Next cell

    ' Включаем обновление экрана

    Application.ScreenUpdating = True

    MsgBox "Очистка пробелов завершена!", vbInformation

    End Sub

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

    1. Вернитесь в Excel и нажмите Alt+F8.
    2. Выберите макрос RemoveAllSpaces и нажмите Выполнить.
    3. Если нужно очистить конкретный диапазон, выделите его перед запуском макроса.
    ⚠️ Внимание: Макрос необратимо изменяет данные в ячейках. Перед запуском сохраните резервную копию файла или работайте с копией листа.

    Способ 6: Формула массива для сложных случаев

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

    Пример формулы для удаления:

    • Пробелов в начале/конце
    • Неразрывных пробелов
    • Табуляций
    • Символов переноса строки (Ch(10) и Ch(13))
    =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");СИМВОЛ(9);" ");СИМВОЛ(10);" ");СИМВОЛ(13);" ");"  ":" "))

    Эта формула:

    1. Последовательно заменяет все нежелательные символы на обычные пробелы.
    2. Применяет СЖПРОБЕЛЫ для удаления лишних пробелов.
    3. На последнем шаге заменяет двойные пробелы на одинарные (на случай, если СЖПРОБЕЛЫ не справилась).

    Для работы с формулой массива:

    1. Введите формулу в ячейку.
    2. Нажмите Ctrl+Shift+Enter (вместо обычного Enter).
    3. Excel автоматически обернёт формулу в фигурные скобки {}.

    Способ 7: Онлайн-инструменты для очистки данных

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

    • 🌐 Разовых задач с небольшими таблицами
    • 🌐 Данных, которые нельзя обрабатывать в Excel (например, из-за ограничений лицензии)
    • 🌐 Проверки результатов перед финальной обработкой

    Популярные сервисы:

    Сервис Ссылка Функции Ограничения
    TextFixer textfixer.com Удаление пробелов, табуляций, переносов строк Ограничение 5000 символов
    ConvertCSV convertcsv.com Очистка CSV-файлов, удаление пробелов Требует загрузки файла
    ExcelFormulaBot excelformulabot.com Генерация формул для очистки пробелов Не обрабатывает данные напрямую

    Как использовать онлайн-инструменты:

    1. Скопируйте данные из Excel в буфер обмена (Ctrl+C).
    2. Вставьте их в поле на сайте сервиса.
    3. Выберите опцию удаления пробелов (обычно Trim whitespace или Clean spaces).
    4. Скопируйте очищенные данные и вставьте их обратно в Excel.
    ⚠️ Внимание: Не используйте онлайн-сервисы для обработки конфиденциальных данных (персональная информация, финансовые отчёты и т. д.). Все загруженные данные могут сохраняться на серверах третьих лиц.

    FAQ: Частые вопросы о пробелах в Excel

    Почему функция СЖПРОБЕЛЫ не удаляет пробелы в моей таблице?

    Скорее всего, в ваших данных используются неразрывные пробелы (код 160) или другие непечатаемые символы. Проверьте тип пробелов с помощью функции =КОДСИМВ(ПРАВСИМВ(A1)). Если результат — 160, используйте комбинацию ПОДСТАВИТЬ + СЖПРОБЕЛЫ.

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

    Используйте формулу с функцией ПРАВСИМВ для проверки последнего символа:

    =ЕСЛИ(ПРАВСИМВ(A1)=" ";A1;СЖПРОБЕЛЫ(A1))

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

    Можно ли автоматически очищать пробелы при импорте данных из CSV?

    Да, для этого настройте Power Query:

    1. При импорте CSV выберите Преобразовать данные.
    2. В редакторе Power Query выделите нужные столбцы.
    3. Примените команду Формат → Обрезка.
    4. Добавьте шаг замены неразрывных пробелов (как описано в Способе 3).
    5. Сохраните запрос — при следующем импорте очистка будет выполняться автоматически.
    Почему после удаления пробелов данные не сортируются правильно?

    Возможно, в ячейках остались невидимые символы, которые не являются пробелами (например, символы нулевой ширины или управляющие символы). Проверьте коды символов с помощью функции =КОД(ПРАВСИМВ(A1)) для каждого символа в строке. Если обнаружите подозрительные коды (например, 0–31), используйте ПОДСТАВИТЬ для их удаления.

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

    Самый быстрый способ — использовать VBA-макрос (Способ 5). Альтернатива:

    1. Выделите все листы в файле (удерживайте Ctrl и кликайте по вкладкам листов).
    2. Нажмите Ctrl+H и замените пробелы, как описано в Способе 4.
    3. Повторите для неразрывных пробелов (Alt+0160).

    Для больших файлов (>100 тыс. строк) лучше использовать Power Query.