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

Пробелы между цифрами в ячейках Microsoft Excel — распространённая проблема, которая мешает корректной обработке данных. Они появляются при импорте из других систем, копировании с веб-страниц или ручном вводе. Такие "лишние" символы ломают формулы, препятствуют сортировке и сводным таблицам, а иногда даже приводят к ошибкам в финансовых расчётах.

Многие пользователи пытаются удалять пробелы вручную — но при больших объёмах данных это неэффективно. К счастью, в Excel есть минимум 5 способов автоматизировать процесс: от стандартных функций до написания макросов. Выбор метода зависит от версии программы, объёма данных и ваших навыков работы с таблицами.

В этой статье мы разберём все актуальные решения — от простейшего использования НАЙТИ И ЗАМЕНИТЬ до написания VBA-скриптов для обработки тысяч строк. Особое внимание уделим нюансам, которые часто упускают в стандартных инструкциях: как сохранить форматирование чисел, почему иногда пробелы возвращаются после удаления, и как избежать ошибок при работе с датами.

Почему пробелы между цифрами — это проблема

На первый взгляд, пробел в числе 1 000 500 кажется безобидным элементом оформления. Но для Excel это принципиально другой тип данных:

  • 🔢 Числовое значение1000500 (можно использовать в формулах, сортировать, суммировать)
  • 📝 Текстовая строка"1 000 500" (формулы игнорируют, сортировка работает по алфавиту)

Основные последствия "загрязнённых" данных:

  1. Формулы СУММ(), СРЗНАЧ() возвращают ошибку #ЗНАЧ! или неверный результат
  2. Невозможно построить сводные таблицы по таким ячейкам
  3. Функции ВПР()/ИНДЕКС() не находят совпадения
  4. Условное форматирование не срабатывает для числовых диапазонов

Критическая ошибка: пробелы в номерах документов (например, 45 02 123456) могут привести к несоответствиям при проверке контрольных сумм в бухгалтерских системах.

⚠️ Внимание: В некоторых европейских локалях Excel автоматически добавляет неразрывные пробелы (Unicode U+00A0) как разделители тысяч. Их нельзя удалить стандартной заменой — потребуются специальные функции.

Способ 1: Замена через "Найти и заменить" (самый быстрый)

Это базовый метод, который работает во всех версиях Excel (2010-2023) и не требует знания формул. Подходит для разовых операций с небольшими диапазонами:

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

Для обработки неразрывных пробелов:

  1. В поле Найти: введите Alt+0160 (удерживая Alt, наберите 0160 на цифровой клавиатуре)

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

  • ❌ Не сохраняет числовой формат (преобразует в текст)
  • ❌ Не работает с пробелами в начале/конце ячейки (нужна отдельная замена)
  • ❌ Может случайно удалить пробелы в текстовых ячейках

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

Способ 2: Функция ПЕЧСИМВ (для точной очистки)

Функция ПЕЧСИМВ() (англ. CLEAN) удаляет все непечатаемые символы, включая пробелы. Её главное преимущество — сохранение исходного формата данных. Синтаксис:

=ПЕЧСИМВ(А1)

Для обработки диапазона:

  1. Добавьте вспомогательный столбец рядом с исходными данными
  2. Введите формулу =ПЕЧСИМВ(B2) (где B2 — первая ячейка с пробелами)
  3. Растяните формулу на весь столбец
  4. Скопируйте результаты (Ctrl+C) и вставьте как Значения (Ctrl+Shift+V → Значения) поверх исходных данных

Расширенный вариант (удаляет пробелы + преобразует в число):

=--ПЕЧСИМВ(ПОДСТАВИТЬ(A1;" ";""))
Исходное значение Формула Результат Тип данных
"1 2 3 4" =ПЕЧСИМВ(A1) 1234 Текст
" 500 000 " =--ПЕЧСИМВ(A2) 500000 Число
"10.5 00" =ЗНАЧЕН(ПЕЧСИМВ(A3)) 10.5 Число
⚠️ Внимание: Функция ПЕЧСИМВ() не удаляет обычные пробелы! Для них нужно комбинировать её с ПОДСТАВИТЬ() или СЖПРОБЕЛЫ().

Функция ПОДСТАВИТЬ|Найти и заменить|Power Query|Макросы|Другой способ-->

Способ 3: Power Query для массовой обработки

Инструмент Power Query (доступен в Excel 2016+) идеален для обработки больших объёмов данных с сохранением истории изменений. Алгоритм:

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

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

  • ✅ Обрабатывает миллионы строк без замедления
  • ✅ Сохраняет историю преобразований
  • ✅ Можно создать шаблон для повторного использования

Скрытые возможности: Для удаления всех пробелов (включая неразрывные) используйте Дополнительные столбцы → Пользовательский столбец с формулой:

= Text.Replace([Column1], " ", "")
Как вернуть исходные данные после Power Query?

Все преобразования в Power Query не разрушают исходные данные — они создают новую таблицу. Чтобы вернуть оригинал:

1. Удалите созданный запрос в панели "Запросы" (вкладка "Данные")

2. Или отмените загрузку (Ctrl+Z сразу после импорта)

3. Исходный диапазон останется нетронутым в листе

Способ 4: Макросы VBA для автоматизации

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

Sub RemoveAllSpaces()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

If VarType(cell.Value) = vbString Then

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

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

End If

Next cell

End Sub

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

  1. Нажмите Alt+F11 для открытия редактора VBA
  2. Вставьте код в новый модуль (Insert → Module)
  3. Выделите нужные ячейки в Excel и запустите макрос (F5)

Расширенная версия (сохраняет числовой формат):

Sub CleanNumbers()

Dim cell As Range

For Each cell In Selection

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

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

cell.NumberFormat = "General"

End If

Next

End Sub

⚠️ Внимание: Макросы автоматически преобразуют данные в текстовый формат. Чтобы вернуть числовой формат, после выполнения скрипта примените формат Общий или Числовой к ячейкам.

1. Перейдите на вкладку "Разработчик" (если её нет — включите в настройках Excel)

2. Нажмите "Вставить" → "Кнопка" (элемент управления формы)

3. Нарисуйте кнопку на листе и присвойте ей ваш макрос

4. Теперь очистка пробелов будет доступна в один клик-->

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

Когда пробелы комбинируются с другими символами или нужно сохранить часть форматирования, помогают комплексные формулы:

Задача Формула Пример
Удалить пробелы + преобразовать в число =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ";"")) "1 234" → 1234
Удалить пробелы в номере телефона =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"");"-";"") "8 (926) 123-45-67" → 89261234567
Сохранить разделители тысяч =ТЕКСТ(ПОДСТАВИТЬ(A1;" ";"");"# ##0") "1 000 500" → 1 000 500 (но уже как число)
Удалить пробелы в начале/конце =СЖПРОБЕЛЫ(A1) " 123 " → 123

Формула для удаления всех типов пробелов (включая неразрывные):

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);"");CHAR(32);"");CHAR(13);"")

Для работы с датами, где пробелы разделяют день/месяц/год:

=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;" ";"."))

Типичные ошибки и как их избежать

Даже опытные пользователи сталкиваются с проблемами при очистке пробелов. Рассмотрим самые распространённые:

  • 🔄 Пробелы возвращаются после сохранения → Проверьте формат ячейки: если стоит Текстовый, Excel может автоматически добавлять разделители при открытии файла. Решение: установите формат Общий до очистки.
  • 📉 Числа превращаются в даты → Это происходит с значениями типа 1 2 2023, которые Excel интерпретирует как 1-фев-2023. Решение: перед очисткой примените текстовый формат.
  • ⚠️ Формулы перестают работать → После удаления пробелов проверьте, не сбились ли ссылки на ячейки. Особенно актуально для ВПР() и ИНДЕКС().
  • 🔢 Потеря значимых пробелов → В номерах документов (например, 77 02 123456) пробелы могут быть частью структуры. Решение: используйте избирательную замену с ПОДСТАВИТЬ() по шаблону.

Скрытая ловушка: В файлах, экспортированных из , пробелы часто представлены как символы табуляции (Char(9)). Их не видно в ячейке, но они ломают формулы. Для обнаружения используйте:

=КОДСИМВ(ЛЕВСИМВ(A1))

Если результат 9 — в ячейке табуляция.

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

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

Да, но нужно действовать в два этапа:

  1. Скопируйте формат ячеек (Главная → Буфер обмена → Формат по образцу)
  2. Удалите пробелы любым методом
  3. Примените сохранённый формат обратно

Для цветов и шрифтов проще использовать Power Query — он сохраняет визуальное оформление.

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

Это происходит когда:

  • Число превышает 11 знаков (предел отображения в Excel)
  • Установлен научный формат (Числовой → Научный)

Решение: примените формат Числовой или расширьте столбец.

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

Три варианта:

  1. Временно снять защиту листа (Рецензирование → Снять защиту листа)
  2. Использовать Power Query — он работает поверх защиты
  3. Создать макрос с разрешением на редактирование защищённых ячеек:
    ActiveSheet.Unprotect "пароль"
    

    ' ваш код очистки

    ActiveSheet.Protect "пароль"

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

Да, двумя способами:

  1. Power Query: Создайте шаблон запроса с очисткой и сохраните как подключение. При обновлении данных пробелы будут удаляться автоматически.
  2. VBA: Добавьте макрос в событие Workbook_Open():
    Private Sub Workbook_Open()
    

    Dim ws As Worksheet

    For Each ws In ThisWorkbook.Worksheets

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

    Next

    End Sub

⚠️ Осторожно: автоматическая очистка может удалить значимые пробелы в текстовых данных.

Как удалить пробелы в Google Таблицах?

Алгоритм аналогичен Excel, но с нюансами:

  1. Найти и заменить (Ctrl+H) — работает идентично
  2. Функция =СЖПРОБЕЛЫ() удаляет только лишние пробелы
  3. Для полной очистки: =ПОДСТАВИТЬ(A1;" ";"")
  4. Аналог Power QueryДанные → Расширения → Apps Script

Отличие: в Google Таблицах нет функции ПЕЧСИМВ() — используйте =REGEXREPLACE(A1;"\s+";"") для удаления всех пробелов.