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

Проблема лишних пробелов: почему это важно для данных в Excel

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

Особенно критично это для числовых данных: Excel может воспринимать "1 234" как текст, а не как число 1234, что приводит к ошибкам в формулах. Например, функция СУММ проигнорирует такие "числа", а СРЗНАЧ вернёт некорректный результат. В этой статье разберём 7 способов очистки пробелов — от базовых функций до автоматизации через Power Query и VBA, с учётом нюансов для разных типов данных.

Прежде чем приступать к очистке, важно понять причину появления пробелов. Они могут возникать при:

  • 📑 Импорте данных из CSV/ТXT (особенно если разделитель — пробел или табуляция).
  • 🖱️ Копировании таблиц с веб-страниц или PDF (где пробелы используются для выравнивания текста).
  • ⌨️ Ручном вводе с случайными нажатиями клавиши Space.
  • 🔄 Преобразовании данных через Текст по столбцам (если разделитель указан неверно).
📊 Как часто вы сталкиваетесь с лишними пробелами в Excel?
Постоянно
Иногда
Редеко
Никогда

Способ 1: Функция СЖПРОБЕЛЫ — быстрое решение для текста

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

  • 🚫 Пробелы в начале и конце ячейки.
  • 🚫 Повторяющиеся пробелы между словами (оставляет только один).

Однако у СЖПРОБЕЛЫ есть критическое ограничение: она не работает с пробелами между цифрами. Например, для ячейки "1 2 3 4" функция вернёт тот же результат, так как пробелы между цифрами считаются значимыми. Также она не удаляет неразрывные пробелы (вставленные через Ctrl+Shift+Space).

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

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

Если нужно применить функцию ко всему столбцу, протяните формулу вниз или используйте Горячие клавиши:

  1. Введите формулу в первую ячейку (например, B1).
  2. Дважды кликните по маркеру заполнения (маленький квадрат в правом нижнем углу ячейки).

Способ 2: Функция ПЕЧСИМВ для удаления ВСЕХ пробелов

Если вам нужно убрать все пробелы без исключения (включая пробелы между словами), используйте комбинацию функций ПЕЧСИМВ (англ. SUBSTITUTE) и ПРОБЕЛ (англ. CHAR(32)). Формула заменяет все пробелы на пустую строку:

=ПЕЧСИМВ(A1; " "; "")

Этот метод подходит для:

  • 🔢 Чисел с пробелами ("1 000 500" → "1000500").
  • 🔤 Текста, где пробелы не нужны ("ABC 123" → "ABC123").
  • 📊 Данных для дальнейшей обработки (например, перед преобразованием в число).

Обратите внимание: если в ячейке есть неразрывные пробелы (код CHAR(160)), их нужно удалять отдельно:

=ПЕЧСИМВ(ПЕЧСИМВ(A1; " "; ""); СИМВОЛ(160); "")
Как проверить код символа пробела?

Выделите ячейку с пробелом, в строке формул нажмите F9, затем кликните на пробел — внизу Excel покажет его код (32 для обычного, 160 для неразрывного).

Способ 3: Замена пробелов через "Найти и заменить"

Для одноразовой очистки большого диапазона удобнее использовать инструмент Найти и заменить (Ctrl+H). Этот метод не требует знания функций и работает со всеми типами пробелов:

  1. Выделите диапазон ячеек (или весь лист — Ctrl+A).
  2. Нажмите Ctrl+H (или перейдите в Главная → Найти и выделить → Заменить).
  3. В поле Найти введите пробел (нажмите клавишу Space).
  4. Поле Заменить на оставьте пустым.
  5. Нажмите Заменить всё.

Преимущества метода:

  • ⚡ Мгновенная обработка тысяч ячеек.
  • 🎯 Работает с неразрывными пробелами (если ввести их вручную в поле Найти через Ctrl+Shift+Space).
  • 🔄 Можно заменить пробелы на другой символ (например, дефис или точку).

Сохраните резервную копию файла

Проверьте, нет ли в данных "полезных" пробелов (например, в ФИО)

Убедитесь, что выделен правильный диапазон

После замены проверьте несколько ячеек на корректность-->

⚠️ Внимание: Этот метод необратимо удаляет все пробелы, включая те, что разделяют слова в тексте. Например, "Иван Петров" станет "ИванПетров". Для избирательного удаления пробелов используйте другие способы.

Способ 4: Power Query — очистка при импорте данных

Если вы часто импортируете данные из внешних источников (CSV, SQL, веб), Power Query (в Excel 2016+) позволит автоматизировать очистку пробелов на этапе загрузки. Это избавит от необходимости ручной обработки:

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

Преимущества Power Query:

Параметр Обычные функции Power Query
Автоматизация Требует ручного повторения Один раз настроил — работает при каждом импорте
Обработка больших данных Может тормозить Оптимизировано для миллионов строк
Гибкость Ограничена формулами Можно комбинировать с другими преобразованиями

⚠️ Внимание: После загрузки данных через Power Query оригинальный источник не изменяется. Все преобразования применяются только к копии данных в Excel. Если источник обновится, повторите загрузку, чтобы применить очистку заново.

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

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

Sub УдалитьВсеПробелы()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

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

Next cell

End Sub

Как использовать:

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

Для избирательного удаления (например, только пробелов между цифрами) модифицируйте код:

Sub УдалитьПробелыМеждуЦифрами()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

If IsNumeric(Replace(cell.Value, " ", "")) Then

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

End If

Next cell

End Sub

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

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

Иногда пробелы комбинируются с другими нежелательными символами (точки, запятые, дефисы). Например, в ячейке может быть "1 000-500,25", а нужно получить 1000500.25. В таких случаях комбинируйте несколько функций:

Пример 1: Удаление пробелов и замены запятой на точку (для преобразования в число):

=ПЕЧСИМВ(ПЕЧСИМВ(ПЕЧСИМВ(A1; " "; ""); ","; "."); "-"; "")

Пример 2: Удаление пробелов только между цифрами, но сохранение пробелов в тексте:

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

Эта формула проверяет, станет ли содержимое ячейки числом после удаления пробелов. Если да — удаляет все пробелы; если нет (значит, это текст) — применяет СЖПРОБЕЛЫ.

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

=ПЕЧСИМВ(A1; " "; "") / 1000

Эта формула удаляет пробелы и делит результат на 1000, если число было в формате "1 000" (тысячи).

Способ 7: Текст по столбцам — альтернатива для структурированных данных

Если пробелы в ваших данных выполняют роль разделителя (например, "Иванов Иван 25", где пробел разделяет фамилию, имя и возраст), используйте инструмент Текст по столбцам:

  1. Выделите столбец с данными.
  2. Перейдите в Данные → Текст по столбцам.
  3. Выберите С разделителями → Далее.
  4. Установите флажок только для Пробел (снимите остальные).
  5. Нажмите Готово.

Excel разобьёт данные по пробелам на отдельные столбцы. После этого вы сможете:

  • 🔄 Объединить нужные части обратно (например, фамилию и имя) через &.
  • 📊 Преобразовать числовые столбцы в формат числа.
  • 🧹 Удалить лишние столбцы с пробелами.

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

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

Можно ли удалить пробелы только в начале или конце ячейки?

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

=ПСТР(A1; НАЙТИ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A1)); A1); ДЛСТР(A1))
Почему после удаления пробелов числа не суммируются?

Скорее всего, ячейки остались в текстовом формате. Преобразуйте их в числа:

  1. Выделите столбец.
  2. Нажмите на жёлтый значок ! рядом с ячейками и выберите Преобразовать в число.
  3. Или используйте формулу =ЗНАЧЕН(A1).
Как удалить пробелы в защищённом листе?

Если лист защищён, сначала снимите защиту (Рецензирование → Снять защиту листа). Если у вас нет пароля, используйте макрос:

Sub СнятьЗащиту()

ActiveSheet.Unprotect Password:="ваш_пароль" ' или оставьте пустым

End Sub

После очистки пробелов верните защиту обратно.

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

Да, с помощью событий VBA. Вставьте этот код в модуль листа:

Private Sub Worksheet_Change(ByVal Target As Range)

Dim cell As Range

For Each cell In Target

If cell.Value <> "" Then

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

End If

Next cell

End Sub

Теперь при вводе или изменении данных пробелы будут удаляться автоматически. Внимание: это может мешать, если пробелы нужны для текста!

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

Пробелы в формулах (например, =СУММ( A1 : A10 )) не влияют на работу, но выглядят неаккуратно. Чтобы убрать их:

  1. Выделите ячейку с формулой.
  2. Нажмите F2 (режим редактирования).
  3. Удерживая Ctrl, нажимайте /, чтобы перемещаться по словам и удалять пробелы.

Для массовой очистки используйте макрос:

Sub ОчиститьФормулы()

Dim cell As Range

For Each cell In Selection

If cell.HasFormula Then

cell.Formula = Replace(cell.Formula, " ", "")

End If

Next cell

End Sub