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

При копировании числовых данных из внешних источников (сайтов, PDF, баз данных) в Microsoft Excel или Google Таблицы часто возникает проблема: между цифрами появляются неразрывные пробелы, преобразующие числа в текст. Например, вместо 123456789 вы получаете 12 34 56 78 9 — это ломает формулы, сортировку и сводные таблицы. Проблема типична для данных, скопированных из банковских выписок, отчетов 1С или веб-страниц с форматированными номерами (телефонов, счетов, идентификаторов). В 90% случаев виноваты непечатаемые символы CHAR(160) (неразрывный пробел) или классические пробелы CHAR(32), которые Excel воспринимает как часть текста.

Решение зависит от источника данных и конечной цели: нужно ли сохранить числа как текст (например, для номеров телефонов) или преобразовать в числовой формат (для расчетов). Ниже разобраны все рабочие методы — от простой замены до автоматизации через Power Query, включая обработку тысяч строк за секунды. Если пробелы появляются при экспорте из Excel в другие системы (например, в SQL или Python), проверьте настройки региональных параметров — они могут добавлять разделители автоматически.

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

Проблема возникает из-за конфликта форматирования между источником данных и Excel. Основные причины:

  • 📄 Неразрывные пробелы (CHAR(160)): используются в веб-верстке и PDF для предотвращения переносов. Excel их не удаляет при стандартной очистке.
  • 📊 Региональные настройки: в некоторых странах пробелы служат разделителями тысяч (например, во Франции: 12 345 678).
  • 🖥️ Автоформатирование источников: 1С, банковские системы, CRM часто экспортируют данные с пробелами для удобства чтения.
  • 🔄 Копирование через буфер обмена: некоторые программы (например, Notepad++) добавляют служебные символы при копировании.

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

📊 С какими данными вы чаще сталкиваетесь с пробелами?
Номера телефонов
Банковские счета/карты
Идентификаторы клиентов
Числовые отчеты (1С, ERP)
Другое

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

Самый быстрый метод для одноразовой очистки — стандартный инструмент «Найти и заменить». Он работает и с обычными, и с неразрывными пробелами, но не преобразует текст в числа автоматически.

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

Для неразрывных пробелов повторите шаги, но в поле «Найти» вставьте символ из таблицы ниже (скопируйте его отсюда):

Тип пробелаСимвол для копированияКод символа
Обычный пробел CHAR(32)
Неразрывный пробел CHAR(160)
Тонкая шпацияCHAR(8201)

После замены данные останутся в текстовом формате. Чтобы преобразовать их в числа, выделите диапазон, нажмите на восклицательный знак в левом верхнем углу ячейки (если он появится) и выберите «Преобразовать в число». Альтернативно используйте функцию =ЗНАЧЕН(A1) в соседнем столбце.

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

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

Базовая формула для удаления ВСЕХ пробелов

=ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);"");" ";"");1;999)

Эта формула:

  • Удаляет неразрывные пробелы (CHAR(160)).
  • Удаляет обычные пробелы (" ").
  • Обрезает результат до 999 символов (защита от ошибок).

Формула с преобразованием в число

=ЗНАЧЕН(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);"");" ";"");1;999))

Добавляет функцию ЗНАЧЕН, которая конвертирует текст в числовой формат. Внимание: если в ячейке есть нечисловые символы (буквы, дефисы), формула вернет ошибку #ЗНАЧ!.

Формула для номеров телефонов (сохраняет дефисы)

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

Заменяет пробелы, но сохраняет дефисы, преобразовывая их в длинное тире () для единообразия.

1. Убедитесь, что в данных нет полезных пробелов (например, в ФИО).

2. Проверьте результат на 5–10 строках вручную.

3. Скопируйте исходные данные в резервный лист.

4. Примените формулы к копии данных, а не к оригиналу.

-->

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

Power Query (в Excel 2016+ и Google Таблицах через надстройки) — самый мощный инструмент для обработки больших объемов данных. Он позволяет:

  • 🔄 Удалять пробелы в тысячах строк за секунды.
  • 🔄 Сохранять шаги очистки для повторного использования.
  • 🔄 Обрабатывать данные из разных источников (CSV, SQL, веб).

Инструкция для Excel:

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

Преимущество метода: Power Query сохраняет историю преобразований. При обновлении исходных данных достаточно кликнуть «Обновить» на листе с результатом — все шаги применятся автоматически.

Как проверить, остались ли пробелы после очистки Power Query?

Используйте функцию =ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;" ";"")). Если результат > 0, в ячейке есть пробелы.

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

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

Инструкция:

  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

  1. Закройте редактор VBA.
  2. Выделите диапазон с данными и запустите макрос: Alt + F8 → выберите «RemoveAllSpaces»«Выполнить».

Макрос обрабатывает и обычные, и неразрывные пробелы. Для добавления других символов (например, табуляций) расширьте строку Replace:

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

Способ 5: Обработка через «Текст по столбцам»

Метод «Текст по столбцам» полезен, когда пробелы служат разделителями между частями данных (например, в строках вида 123 456 789, где каждая группа цифр имеет смысл). Он позволяет разделить данные по пробелам, а затем объединить их обратно без разделителей.

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

  1. Выделите столбец с данными.
  2. Перейдите на вкладку «Данные»«Текст по столбцам».
  3. Выберите «С разделителями»«Далее».
  4. Снимите все галочки, кроме «Пробел» (убедитесь, что выбраны оба типа пробелов: обычный и неразрывный).
  5. Нажмите «Готово» — данные разобьются по столбцам.
  6. В новой колонке используйте формулу объединения, например:
    =СЦЕПИТЬ(B1;C1;D1)

    где B1, C1, D1 — ячейки с разделёнными частями.

Этот способ удобен для обработки номеров карт, где пробелы разделяют группы цифр (например, 1234 5678 9012 3456). После объединения вы получите сплошную строку 1234567890123456, которую можно дальнейшем отформатировать по своему усмотрению.

Ошибки и нюансы при удалении пробелов

Даже после очистки данные могут вести себя некорректно. Рассмотрим типичные проблемы и их решения:

ПроблемаПричинаРешение
Числа отображаются с зеленым треугольником в углу Excel распознает данные как текст, хранящийся в числовом формате Выделите ячейки → жёлтый ромб с восклицательным знаком → «Преобразовать в число»
После удаления пробелов остались апострофы (') Апострофы используются для принудительного текстового формата Примените формулу =ПОДСТАВИТЬ(A1;"'";"") или используйте «Найти и заменить»
Формулы возвращают #ЗНАЧ! после преобразования В данных остались нечисловые символы (буквы, скобки) Используйте =ЗНАЧЕН(ПОДСТАВИТЬ(A1;{"/";"(";")";"-";" "};"")) для удаления всех нецифровых символов

Критическая ошибка: если после очистки числа округляются (например, 1234567890123456 становится 1.23457E+15), значит Excel преобразовал их в научный формат из-за превышения лимита точности (15 знаков). Чтобы избежать этого, предварительно отформатируйте столбец как «Текст» или используйте формулу =ТЕКСТ(A1;"0").

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

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

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

=REGEX.REPLACE(A1;"(\d)\s+(\d)";"$1$2")

Эта формула удаляет пробелы только между цифрами (\d), сохраняя их в остальном тексте.

Почему после копирования из PDF пробелы возвращаются обратно?

PDF-файлы часто содержат непечатаемые символы форматирования. Перед вставкой в Excel:

  1. Вставьте данные в Блокнот (Ctrl + Shift + V для вставки без форматирования).
  2. Скопируйте оттуда и вставьте в Excel.

Это удалит служебные символы PDF.

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

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

  1. Используйте «Найти и заменить» (Ctrl + H).
  2. Применяйте формулы:
    =REGEXREPLACE(A1;"\s+";"")

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

  3. Для Power Query установите надстройку «Power Tools».
Можно ли автоматизировать очистку пробелов при импорте данных?

Да, с помощью Power Query или VBA:

  • В Power Query сохраните шаги очистки в запросе — они будут применяться при каждом обновлении.
  • В VBA добавьте макрос в событие Worksheet_Change, чтобы он срабатывал при вставке данных:
Private Sub Worksheet_Change(ByVal Target As Range)

Dim cell As Range

For Each cell In Target

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

Next cell

End Sub

Внимание: этот код будет очищать пробелы во всех изменяемых ячейках листа!

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

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

  1. Выделите столбец.
  2. Перейдите на вкладку «Данные»«Текст по столбцам» → выберите «Фиксированная ширина»«Готово».
  3. Excel автоматически преобразует текст в числа, если это возможно.

Альтернативно используйте формулу =ЗНАЧЕН(A1) в соседнем столбце.