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

Почему пробелы в числах — это проблема, и как их обнаружить

Вы когда-нибудь сталкивались с ситуацией, когда Excel вдруг перестаёт воспринимать числа как числа? Вместо суммирования ячеек вы получаете ошибку #ЗНАЧ!, а функции вроде СУММ() или СРЗНАЧ() игнорируют ваши данные? В 90% случаев виноваты невидимые пробелы, которые пользователи случайно добавляют при копировании данных из веб-страниц, PDF или других источников. Эти пробелы могут быть как обычными (нажатие клавиши Space), так и неразрывными (специальный символ  , который часто встречается в HTML-коде).

Обнаружить их невооружённым глазом почти невозможно — Excel отображает ячейку как обычное число (например, 1 000 вместо 1000), но внутренне хранит её как текст. Чтобы проверить наличие пробелов, выделите подозрительную ячейку и посмотрите на строку формул: если курсор мигает не в начале, а после первого символа, значит, перед числом есть пробел. Ещё один способ — использовать функцию =ТИП(A1): если результат 2, то в ячейке текст, а не число.

Проблема усугубляется, когда пробелы стоят внутри числа (например, 1 234 567 как разделитель разрядов). В этом случае Excel может воспринимать такие данные как текст даже после попытки преобразования. Далее мы разберём, как удалить пробелы в любых сценариях — от ручной правки до автоматизации для тысяч строк.

Способ 1: Поиск и замена — самый быстрый метод для небольших таблиц

Если вам нужно очистить пробелы в числах однократно и данных не слишком много (до 10 000 строк), оптимальный вариант — инструмент Найти и заменить. Он работает со всеми типами пробелов, включая неразрывные, и не требует знания формул. Вот как им пользоваться:

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

Для неразрывных пробелов (которые не удаляются обычной заменой) повторите шаги, но в поле Найти введите комбинацию Alt+0160 (удерживайте Alt и наберите 0160 на цифровой клавиатуре). Если после замены числа всё ещё отображаются как текст, примените формат Общий или используйте Текст по столбцам (раздел 3).

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

☑️ Подготовка к замене пробелов

Выполнено: 0 / 4

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

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

=ПЕЧСИМВ(A1)*1

Почему умножаем на 1? Потому что ПЕЧСИМВ возвращает текст, а умножение принудительно преобразует его в число. Альтернативный вариант — обернуть результат в =ЗНАЧЕН():

=ЗНАЧЕН(ПЕЧСИМВ(A1))

Этот метод особенно полезен, если пробелы появляются в данных регулярно (например, при экспорте из 1С или CRM). Вы можете создать отдельный столбец с формулой и затем скопировать его значения через Специальная вставка → Значения, чтобы заменить исходные данные.

Исходные данные (A1) Формула Результат Тип данных
123 456 =ПЕЧСИМВ(A1)*1 123456 Число
 789  (неразрывные пробелы) =ЗНАЧЕН(ПЕЧСИМВ(A1)) 789 Число
1 000 руб. =ПЕЧСИМВ(A1) 1000 руб. Текст
⚠️ Внимание: Функция ПЕЧСИМВ не удаляет непечатаемые символы (например, табуляцию или перевод строки). Если после её применения числа всё ещё не преобразовываются, используйте комбинацию =ПЕЧСИМВ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);""))*1, где СИМВОЛ(160) — это неразрывный пробел.

Способ 3: Текст по столбцам — для импорта данных с разделителями

Если пробелы в числах появились из-за некорректного импорта (например, при копировании из PDF или базы данных, где пробелы использовались как разделители), воспользуйтесь инструментом Текст по столбцам. Он особенно эффективен, когда числа записаны с пробелами в качестве разделителей разрядов (например, 1 234 567).

Инструкция:

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

После этого Excel преобразует текстовые числа в числовой формат, игнорируя пробелы. Если данные не изменились, проверьте формат ячеек: выделите столбец, нажмите Ctrl+1 и выберите Общий или Числовой.

Что делать, если "Текст по столбцам" не сработал?

Если после применения инструмента числа всё ещё отображаются как текст, попробуйте:

1. Добавить новый столбец с формулой =A1*1 и скопировать его значения обратно.

2. Использовать Найти и заменить для неразрывных пробелов (Alt+0160).

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

Способ 4: Power Query — для обработки больших объёмов данных

Если вы работаете с десятками тысяч строк или регулярно импортируете данные из внешних источников (CSV, SQL, веб), ручные методы будут неэффективны. В этом случае используйте Power Query — инструмент для преобразования данных, встроенный в Excel 2016 и новее (или как надстройка Get & Transform в Excel 2010–2013).

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

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

Преимущество Power Query в том, что вы можете сохранить шаги преобразования и применять их автоматически при обновлении данных. Например, если вы ежемесячно импортируете отчёт из 1С, где числа приходят с пробелами, достаточно один раз настроить запрос — и Excel будет очищать данные самостоятельно.

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

Способ 5: VBA-макрос для автоматизации очистки

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

Код макроса:

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

Dim rng As Range

Dim cell As Range

' Выбираем диапазон (можно изменить на конкретный, например Range("A1:A100"))

Set rng = Selection

For Each cell In rng

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

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

End If

Next cell

End Sub

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

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

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

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

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

  • 🔹 Пробелы удалили, но числа всё равно текстом.

    Причина: формат ячейки остался Текстовый. Решение: выделите ячейки, нажмите Ctrl+1 и выберите формат Общий или Числовой.

  • 🔹 Функция ПЕЧСИМВ не сработала.

    Причина: в данных есть неразрывные пробелы (код 160). Решение: используйте =ПОДСТАВИТЬ(A1;СИМВОЛ(160);"").

  • 🔹 После замены числа округлились.

    Причина: Excel интерпретировал текст как дату (например, 1 2 2023 стало 01.02.2023). Решение: предварительно преобразуйте данные в текстовый формат с помощью =ТЕКСТ(A1;"0").

  • 🔹 Power Query не обновляет данные.

    Причина: не включено автоматическое обновление. Решение: щёлкните правой кнопкой по таблице и выберите Обновить.

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

=КОДСИМВ(ПРАВСИМВ(A1))

Если результат не соответствует ожидаемому (например, 10 вместо цифры), значит, в конце строки есть непечатаемый символ. Удалите его с помощью =ПОДСТАВИТЬ(A1;СИМВОЛ(10);"").

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

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

Да, но это требует более сложной обработки. Используйте формулу:

=ЕСЛИ(ЕЧИСЛО(ПЕЧСИМВ(A1)*1); ПЕЧСИМВ(A1)*1; A1)

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

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

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

  1. Выделите ячейки, нажмите Ctrl+1.
  2. Выберите формат Числовой и укажите нужное количество десятичных знаков.
Как удалить пробелы в числах при импорте из CSV?

Используйте Power Query:

  1. При импорте CSV выберите Преобразовать данные.
  2. В редакторе Power Query выделите числовые столбцы.
  3. Примените замену пробелов на пустую строку (Преобразование → Заменить значения).
  4. Измените тип данных столбца на Целое число или Десятичное число.
Можно ли вернуть пробелы как разделители разрядов после очистки?

Да, но это отдельная операция. После удаления пробелов:

  1. Выделите ячейки с числами.
  2. Нажмите Ctrl+1 и выберите формат Числовой.
  3. Поставьте галочку Разделитель групп разрядов.

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

Почему функция ЗНАЧЕН выдаёт ошибку #ЗНАЧ! после удаления пробелов?

Ошибка возникает, если в ячейке остались нечисловые символы (например, буквы, знаки валюты или скобки). Проверьте данные с помощью:

=ЕОШ(ЗНАЧЕН(ПЕЧСИМВ(A1)))

Если результат ИСТИНА, значит, в ячейке есть символы, которые мешают преобразованию. Используйте =ПОДСТАВИТЬ() для их удаления.