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

Пробелы в числовых данных Excel — одна из самых распространённых проблем при работе с импортированными таблицами, выгрузками из 1С или баз данных. Даже один лишний символ превращает число 1 000 в текст, ломает формулы и мешает сортировке. В этой статье разберём 5 проверенных способов удаления пробелов — от ручных до полностью автоматических, с учётом нюансов разных версий Microsoft Excel (2010–2023) и Excel Online.

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

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

На первый взгляд, пробел в числе кажется безобидным. Но на практике он приводит к серьёзным ошибкам:

  • 📉 Формулы не работают: =СУММ(A1:A10) проигнорирует ячейки с пробелами, вернув 0.
  • 🔢 Сортировка ломается: числа с пробелами группируются отдельно от "чистых" чисел.
  • 📊 Диаграммы не строятся: Excel не распознаёт данные как числовые.
  • 🔗 Связи между таблицами рвутся: функции ВПР или XLOOKUP не находят совпадения.

Коварство пробелов в том, что они не всегда видны. Например, неразрывный пробел (код CHAR(160)) выглядит как обычный, но не удаляется стандартной заменой. Его часто добавляют программы бухгалтерского учёта (например, 1С:Предприятие) для корректного отображения чисел в отчётах.

⚠️ Внимание: Если после удаления пробелов числа отображаются с выравниванием по левому краю (как текст), используйте команду Правка → Заменить → Формат → Числовой, чтобы принудительно преобразовать их в числовой формат.

Способ 1: Замена пробелов вручную (для небольших таблиц)

Самый простой метод — использовать функцию НАЙТИ И ЗАМЕНИТЬ. Он подходит для таблиц до 10 000 строк и не требует знания формул.

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

Для неразрывных пробелов повторите шаги, но в поле Найти введите CHAR(160) (как это сделать — см. в следующем разделе).

Выделили только нужный диапазон (не всю таблицу)|

Сделали резервную копию данных|

Проверили, что в ячейках нет полезных пробелов (например, в ФИО)|

Убедились, что числа не разделены пробелами на тысячи (1 000)

-->

Способ 2: Формулы для удаления пробелов (для автоматического обновления)

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

Задача Формула Пример
Удалить все пробелы =ПОДСТАВИТЬ(A1;" ";"") 1 2341234
Удалить неразрывные пробелы =ПОДСТАВИТЬ(A1;СИМВОЛ(160);"") 1 2341234 (пробел невидимый)
Удалить пробелы и преобразовать в число =--ПОДСТАВИТЬ(A1;" ";"") "1 234" (текст) → 1234 (число)
Оставить пробелы-разделители тысяч =ЕСЛИ(ЕЧИСЛО(ПОДСТАВИТЬ(A1;" ";""));A1;ПОДСТАВИТЬ(A1;" ";"")) 1 000 остаётся, 1 2 3123

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

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

Способ 3: Power Query для массовой очистки (Excel 2016 и новее)

Power Query — мощный инструмент для преобразования данных, доступный в Excel 2016–2023 и Excel Online. Он позволяет удалить пробелы в тысячах строк за несколько кликов, сохраняя связь с источником.

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

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

  • 🔄 Автоматическое обновление: при изменении исходных данных пробелы удалятся повторно.
  • 📂 Независимость от формул: данные хранятся как значения, не занимая ресурсы.
  • 🛠 Гибкость: можно комбинировать с другими преобразованиями (разделение столбцов, изменение типов данных).
Как удалить пробелы в Power Query для нескольких столбцов сразу?

1. Выделите первый столбец, удерживая Ctrl, выделите остальные.

2. На вкладке Преобразование выберите Формат → Обрезка (удалит пробелы в начале/конце).

3. Для удаления всех пробелов используйте Добавить столбец → Пользовательский столбец с формулой =Text.Replace([Column1]," ",""), затем удалите оригинальные столбцы.

Способ 4: Макрос VBA для удаления пробелов (для опытных пользователей)

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

Откройте редактор VBA (Alt + F11), вставьте новый модуль (Insert → Module) и добавьте код:

Sub RemoveSpacesFromNumbers()

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, " ", "")

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

cell.NumberFormat = "General" ' Преобразуем в число

End If

Next cell

End Sub

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

  1. Выделите диапазон с данными.
  2. Запустите макрос (Alt + F8 → выберите RemoveSpacesFromNumbersВыполнить).
⚠️ Внимание: Макрос безвозвратно изменяет данные. Перед запуском сохраните резервную копию файла или используйте команду Ctrl + Z для отмены. Если в ячейках есть текст с пробелами (например, адреса), они тоже будут очищены.

Замена вручную (Ctrl+H)|

Формулы (ПОДСТАВИТЬ, СЖПРОБЕЛЫ)|

Power Query|

Макросы VBA|

Другой способ

-->

Способ 5: Функция СЖПРОБЕЛЫ для "умной" очистки

Функция СЖПРОБЕЛЫ удаляет только лишние пробелы: в начале/конце ячейки и повторяющиеся между словами. Это полезно, если в данных есть полезные пробелы (например, в адресах "г. Москва, ул. Ленина 1").

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

  • 📌 =СЖПРОБЕЛЫ(A1) — удалит пробелы в начале/конце и сожмёт множественные пробелы до одного.
  • 📌 =--СЖПРОБЕЛЫ(A1) — дополнительно преобразует результат в число.
  • 📌 =ЕСЛИ(ЕОШ(--СЖПРОБЕЛЫ(A1));СЖПРОБЕЛЫ(A1);--СЖПРОБЕЛЫ(A1)) — оставит текст текстом, а числа преобразует.

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

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

Частые ошибки и как их избежать

Даже опытные пользователи допускают ошибки при удалении пробелов. Вот самые распространённые:

Ошибка Причина Решение
Числа не преобразовались в числовой формат Excel сохраняет текстовый формат ячейки Выделите диапазон → Главная → Формат → Числовой формат
Пропали пробелы в тексте (ФИО, адреса) Замена применена ко всем ячейкам Используйте формулу с проверкой: =ЕСЛИ(ЕЧИСЛО(ПОДСТАВИТЬ(A1;" ";""));ПОДСТАВИТЬ(A1;" ";"");A1)
Неразрывные пробелы не удалились Стандартная замена не распознаёт CHAR(160) Используйте =ПОДСТАВИТЬ(A1;СИМВОЛ(160);"")
Формулы возвращают ошибку #ЗНАЧ! В данных есть непечатаемые символы Очистите ячейки функцией =ЧИСТ(A1) перед удалением пробелов

Чтобы избежать проблем, всегда проверяйте результат на тестовых данных. Например, создайте копию таблицы и примените к ней выбранный метод.

FAQ: Ответы на частые вопросы

Можно ли удалить пробелы в числах на телефоне (Excel для Android/iOS)?

Да, но функционал ограничен. Используйте:

  • 📱 Замену (Главная → Найти и выделить → Заменить).
  • 📱 Формулы (доступны ПОДСТАВИТЬ и СЖПРОБЕЛЫ).

Power Query и VBA в мобильной версии недоступны.

Почему после удаления пробелов числа отображаются как ######?

Это означает, что ширина столбца недостаточна для отображения числа. Растяните столбец или измените формат на Экспоненциальный (Главная → Формат → Экспоненциальный).

Также проверьте, не превышает ли число 15 знаков — Excel округляет числа большей длины.

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

Используйте формулу с проверкой:

=ЕСЛИ(И(ЕЧИСЛО(ПОДСТАВИТЬ(A1;" ";""));ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";""))=ПОИСК(" ";A1)/3);A1;ПОДСТАВИТЬ(A1;" ";""))

Она оставит пробелы только если:

  • После удаления пробелов остаётся число.
  • Количество пробелов кратно 3 (как в разделителях тысяч).
Как автоматизировать удаление пробелов при импорте данных?

Создайте шаблон Power Query:

  1. Импортируйте данные через Данные → Получить данные.
  2. В редакторе Power Query добавьте пользовательский столбец с формулой =Text.Replace([YourColumn]," ","").
  3. Удалите оригинальный столбец и переименуйте новый.
  4. Сохраните запрос как шаблон (Главная → Дополнительно → Параметры → Шаблоны).

При следующем импорте применяйте этот шаблон.

Что делать, если пробелы возвращаются после обновления данных?

Это происходит при связке с внешним источником (например, или SQL). Решения:

  • 🔗 Отключите связь: Данные → Подключения → Свойства → Отключить обновление.
  • 📊 Используйте Power Query с автоматической очисткой (см. Способ 3).
  • 🛠 Настройте формат источника: в отключите опцию "Разделять тысячи пробелами" в настройках выгрузки.