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

Пробелы между цифрами в Microsoft Excel — распространённая проблема, которая возникает при импорте данных из внешних источников, копировании с веб-сайтов или ручном вводе. Эти "невидимые" символы мешают корректной обработке чисел: формулы возвращают ошибки #ЗНАЧ!, сортировка работает неправильно, а диаграммы отображают данные с искажениями. В 80% случаев пользователи даже не подозревают о наличии пробелов, пока не сталкиваются с ошибками в расчётах.

В этой статье мы разберём 5 проверенных методов удаления пробелов между цифрами — от базовых функций ПОИСК/ЗАМЕНА до автоматизированных решений на VBA. Особое внимание уделим нюансам: почему стандартная замена пробела на "ничего" иногда не работает, как обработать тысячи строк за секунды, и что делать, если пробелы комбинируются с другими непечатаемыми символами (например, NBSP). Все методы протестированы на Excel 2010–2023 и Office 365.

1. Быстрая замена пробелов через "Найти и заменить"

Самый простой способ — использовать встроенный инструмент Найти и заменить (Ctrl+H). Он подходит для одноразовой обработки небольших таблиц (до 10 000 строк) и не требует знания формул.

Алгоритм действий:

  • 📋 Выделите диапазон ячеек с данными (или нажмите Ctrl+A, чтобы выбрать весь лист).
  • 🔍 Нажмите Ctrl+H, чтобы открыть окно Заменить.
  • 🔘 В поле Найти введите один пробел (просто нажмите клавишу Space).
  • 📛 Поле Заменить на оставьте пустым.
  • 🔄 Нажмите Заменить всё.

⚠️ Внимание: Этот метод удаляет все пробелы в ячейке, включая разделители между словами (например, в адресах или ФИО). Для чисел он безопасен, но если в таблице смешаны тексты и цифры — используйте другие способы.

📊 Как часто вы сталкиваетесь с пробелами в данных Excel?
Постоянно
Иногда
Рядом
Никогда

2. Функция ПСТР + ПОИСК: удаление пробелов без потери формата

Если пробелы расположены строго между цифрами (например, 1 234 567), а не в начале/конце ячейки, используйте комбинацию функций ПСТР и ПОИСК. Этот метод сохраняет исходный формат чисел и работает даже с текстом, содержащим буквы.

Формула для ячейки B1 (если исходные данные в A1):

=ПСТР($A1;1;ПОИСК(" ";$A1)-1) & ПСТР($A1;ПОИСК(" ";$A1)+1;ДЛСТР($A1))

Как это работает:

  1. ПОИСК(" ";$A1) — находит позицию первого пробела.
  2. ПСТР($A1;1;ПОИСК(" ";$A1)-1) — извлекает часть строки до пробела.
  3. ПСТР($A1;ПОИСК(" ";$A1)+1;ДЛСТР($A1)) — извлекает часть после пробела.
  4. & — объединяет две части без пробела.

Для обработки нескольких пробелов используйте рекурсивную формулу (требуется Excel 365):

=ЕСЛИ(НАЙТИ(" ";A1); ЗАМЕНИТЬ(A1;" ";""); A1)

3. Функция СЖПРОБЕЛЫ: когда пробелы не только между цифрами

Функция СЖПРОБЕЛЫ (TRIM в английской версии) удаляет все лишние пробелы в ячейке, включая:

  • 🔹 Пробелы в начале и конце строки.
  • 🔹 Повторяющиеся пробелы между словами/цифрами (оставляет только один).
  • 🔹 NBSP (неразрывные пробелы, Char(160)).

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

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

Ограничения метода:

ПроблемаРешение
Не удаляет пробелы между цифрами, если они единичные (например, 1 000 останется 1 000).Комбинируйте с ЗАМЕНИТЬ:
=ЗАМЕНИТЬ(СЖПРОБЕЛЫ(A1);" ";"")
Не работает с пробелами, вставленными как символы (Char(32) в формулах).Используйте ПОДСТАВИТЬ с указанием кода символа.
Меняет формат ячейки на Текстовый.Примените формат Числовой после обработки.

4. Макрос VBA: обработка тысяч строк за секунды

Если таблица содержит десятки тысяч строк, ручные методы неэффективны. Автоматизируйте процесс с помощью VBA-макроса. Этот код удаляет все пробелы в выбранном диапазоне, включая неразрывные (NBSP):

Как запустить:

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

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

⚠️ Внимание: Макрос безвозвратно изменяет исходные данные. Перед запуском:

  • 💾 Сохраните копию файла.
  • 🔍 Проверьте работу макроса на небольшом диапазоне (например, 10 строк).
  • 🔒 Отключите защиту листа, если она включена.

Сохранить резервную копию файла|Выделить диапазон для обработки|Отключить защиту листа (если есть)|Проверять результат на тестовых данных-->

5. Power Query: обработка больших данных без формул

Power Query (доступен в Excel 2016+ и Office 365) — мощный инструмент для очистки данных. Он позволяет удалить пробелы в процессе импорта или преобразования таблиц, не затрагивая исходные файлы.

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

  1. Выделите диапазон → перейдите на вкладку ДанныеИз таблицы/диапазона.
  2. В открывшемся окне Power Query выделите столбец с пробелами.
  3. На вкладке Преобразование выберите Формат → Очистить → Очистить пробелы.
  4. Для удаления всех пробелов (включая единичные) используйте Заменить значения:
  • 🔍 В поле Значение для поиска введите пробел.
  • 📛 В поле Заменить на оставьте пусто.

5. Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.

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

Как удалить пробелы при импорте из CSV/ТXT?

При импорте файла через Данные → Из текстового/CSV-файла выберите столбец с пробелами → на шаге преобразования примените Очистить пробелы. Это избавит от необходимости ручной обработки после импорта.

6. Пробелы в числовых форматах: особенности обработки

Иногда пробелы в числах — это не ошибка, а разделитель разрядов (например, 1 000 000 вместо 1000000). В этом случае удаление пробелов приведёт к потере читаемости. Чтобы сохранить форматирование, используйте один из методов:

Способ 1. Замена пробела на ничего + пользовательский формат:

  1. Удалите пробелы любым методом из этой статьи.
  2. Выделите ячейки → нажмите Ctrl+1 → перейдите на вкладку Число.
  3. Выберите (все форматы) → введите маску: # ##0 (для чисел до миллионов) или # ##0 # ##0 (для миллиардов).

Способ 2. Функция ТЕКСТ с разделителями:

=ТЕКСТ(ЗАМЕНИТЬ(A1;" ";"");"# ##0")

⚠️ Внимание: Если вы экспортируете данные в системы, чувствительные к форматированию (например, или SQL), пробелы-разделители могут вызвать ошибки. В этом случае используйте точку или запятую как разделитель:

=ТЕКСТ(ЗАМЕНИТЬ(A1;" ";"");"#.##0")

7. Проблемы и решения: почему пробелы не удаляются?

Если ни один из методов не сработал, проверьте следующие нюансы:

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

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

Можно ли удалить пробелы только между цифрами, но оставить их в тексте?

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

=ЕСЛИОШИБКА(ЗНАЧЕН(ЗАМЕНИТЬ(A1;" ";"")); A1; ЗАМЕНИТЬ(A1;" ";""))

Эта формула удаляет пробелы только если ячейка содержит число (включая числа в текстовом формате).

Как удалить пробелы в 100 000 строк без зависания Excel?

Для больших объёмов данных:

  1. Разбейте таблицу на части по 10 000 строк.
  2. Используйте Power Query (самый стабильный метод).
  3. Для VBA отключите обновление экрана:
Application.ScreenUpdating = False

' Ваш код

Application.ScreenUpdating = True

Почему после удаления пробелов числа отображаются с экспонентой (например, 1E+10)?

Это происходит, если число превышает 15 знаков — Excel автоматически конвертирует его в экспоненциальный формат. Чтобы вернуть обычный вид:

  1. Увеличьте ширину столбца.
  2. Примените текстовый формат к ячейке.
  3. Используйте функцию =ТЕКСТ(A1;"0").
Как удалить пробелы при импорте данных из PDF?

PDF-файлы часто содержат NBSP и другие непечатаемые символы. Лучший способ:

  1. Импортируйте данные через Power Query.
  2. Добавьте пользовательский столбец с формулой:
=Text.Replace([Column1], " ", "")

Где [Column1] — имя вашего столбца.

Можно ли автоматизировать удаление пробелов при открытии файла?

Да, с помощью VBA-кода в событии Workbook_Open:

Private Sub Workbook_Open()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

ws.Cells.Replace What:=" ", Replacement:="", LookAt:=xlPart

ws.Cells.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart

Next ws

End Sub

⚠️ Этот код будет удалять все пробелы во всех листах при каждом открытии файла. Используйте с осторожностью!