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

Лишние пробелы в числовых данных — одна из самых коварных ошибок в Microsoft Excel. На первый взгляд они незаметны, но способны сломать сортировку, исказить результаты формул и даже привести к ошибкам в сводных таблицах. Представьте: вы скачали отчёт из или получили данные от коллеги, где числа выглядят как `" 12345 "` или `"1 000.50 "`. Excel воспринимает их как текст, а не как числа — и все расчёты идут насмарку.

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

Особое внимание уделим скрытым символам (неразрывные пробелы, табуляции), которые не видны глазу, но портят данные. А в конце — бонус: макрос для очистки всех листов книги за один клик.

📊 С какой частотой вы сталкиваетесь с пробелами в числах?
Ежедневно
Раз в неделю
Редко
Никогда

1. Почему пробелы в числах опасны: 3 скрытые проблемы

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

Проблема 1: Формулы возвращают ошибку #ЗНАЧ!

Excel не может сложить текст `" 100 "` и число `200`. Функции вроде СУММ или СРЗНАЧ просто проигнорируют такие ячейки, а ВПР выдаст ошибку. Например, формула =СУММ(A1:A3) вернёт `0`, если в ячейках текстовые "числа" с пробелами.

Проблема 2: Неправильная сортировка

Текстовые "числа" сортируются как строки: `" 100 "` окажется после `"20"`, потому что пробел имеет больший код символа, чем цифры. Это критично для отчётов, где важна последовательность.

Проблема 3: Сбои в сводных таблицах

Сводная таблица воспримет `"100"` и `"100 "` как разные значения и создаст отдельные строки. В результате данные дублируются, а итоги считаются неверно.

⚠️ Внимание: Неразрывный пробел (вставляется сочетанием Ctrl+Shift+Пробел) визуально неотличим от обычного, но удаляется только специальными функциями. Его часто добавляют программы вроде Word или .

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

Если пробелы только в начале или конце чисел, а данных мало (до 100 строк), проще всего воспользоваться функцией Найти и заменить:

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

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

  • 🚫 Не удаляет пробелы внутри чисел (например, `"1 000"` останется без изменений).
  • 🚫 Не работает с неразрывными пробелами (нужно в поле Найти вставлять символ из буфера обмена).
  • 🚫 Требует повторного запуска для пробелов в начале и конце отдельно.

После замены обязательно преобразуйте текст в числа:

  1. Выделите ячейки.
  2. Нажмите на восклицательный знак Ошибка рядом с ячейкой → Преобразовать в число.

Выделил диапазон данных

Проверил поле "Найти" на лишние символы

Удалил пробелы в начале и конце отдельно

Преобразовал текст в числа-->

3. Способ 2: Функция СЖПРОБЕЛЫ (для пробелов внутри чисел)

Если пробелы разделяют разряды (например, `"1 000 500"`), используйте функцию СЖПРОБЕЛЫ. Она удаляет все лишние пробелы, оставляя только одиночные между словами:

Формула:

=ЗНАЧЕН(СЖПРОБЕЛЫ(A1))

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

  1. СЖПРОБЕЛЫ(A1) — удаляет все пробелы, кроме одного между "словами" (в нашем случае — частями числа).
  2. ЗНАЧЕН — преобразует результат в число.

Примеры:

Исходные данные (A1)ФормулаРезультат
" 1 000 500 "=ЗНАЧЕН(СЖПРОБЕЛЫ(A1))1000500
"100.50 р"=ЗНАЧЕН(ПСТР(СЖПРОБЕЛЫ(A1);1;НАЙТИ(" ";A1)-1))100,5
" 2026 "=ЗНАЧЕН(СЖПРОБЕЛЫ(A1))2026
⚠️ Внимание: Если в ячейке смешаны пробелы и буквы (например, `"100 кг"`), функция ЗНАЧЕН вернёт ошибку. В этом случае используйте =ПСТР(СЖПРОБЕЛЫ(A1);1;НАЙТИ(" ";A1)-1), чтобы извлечь только числовую часть.

4. Способ 3: Комбинация ПОДСТАВИТЬ + ЗНАЧЕН (для неразрывных пробелов)

Неразрывные пробелы (вставляются через Ctrl+Shift+Пробел) не удаляются стандартной заменой. Чтобы их убрать, используйте функцию ПОДСТАВИТЬ с символом CHAR(160):

Формула для удаления всех типов пробелов:

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

Разбор формулы:

  • 🔹 CHAR(160) — код неразрывного пробела.
  • 🔹 Первая ПОДСТАВИТЬ заменяет неразрывные пробелы на пустоту.
  • 🔹 Вторая ПОДСТАВИТЬ удаляет обычные пробелы.
  • 🔹 ЗНАЧЕН преобразует результат в число.

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

  • ✅ Данные экспортированы из Word, PDF или веб-страниц.
  • ✅ В ячейках смешаны обычные и неразрывные пробелы.
  • ✅ Нужно очистить тысячи строк без макросов.
Как вставить неразрывный пробел в формулу?

Нажмите Ctrl+Shift+Пробел в строке формул или используйте функцию CHAR(160). В некоторых шрифтах неразрывный пробел визуально шире обычного.

5. Способ 4: Power Query (для больших файлов)

Если у вас десятки тысяч строк, ручные методы неэффективны. В этом случае поможет Power Query — инструмент для очистки данных, встроенный в Excel 2016 и новее.

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

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

Преимущества Power Query:

  • 🔥 Обрабатывает миллионы строк без зависаний.
  • 🔥 Сохраняет шаги очистки — при обновлении данных пробелы удалятся автоматически.
  • 🔥 Можно применить к нескольким файлам одновременно.

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

6. Способ 5: Макрос VBA (для автоматизации)

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

Код макроса:

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

Dim rng As Range

Dim cell As Range

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. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel, выделите диапазон и запустите макрос (Alt+F8 → УдалитьПробелыВЧислах → Выполнить).

Что делает макрос:

  • 🤖 Удаляет обычные и неразрывные пробелы.
  • 🤖 Преобразует результат в число с помощью Val.
  • 🤖 Работает только с ячейками, которые можно преобразовать в числа (игнорирует текст).
⚠️ Внимание: Макрос заменяет исходные данные. Сначала проверьте его на копии файла! Если в ячейках смешаны числа и буквы (например, `"100 кг"`), результат будет некорректным.

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

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

Ошибка 1: Забыли преобразовать текст в числа

После удаления пробелов ячейки остаются в текстовом формате. Решение: Выделите диапазон → нажмите на жёлтый треугольник с восклицательным знаком → Преобразовать в число.

Ошибка 2: Удалили пробелы в датах

Если в ячейке была дата в формате `"01.01.2026"`, замена пробелов может превратить её в `"01.01.2026"` (текст). Решение: Перед очисткой проверьте формат ячеек (Ctrl+1).

Ошибка 3: Использовали ЗАМЕНИТЬ вместо ПОДСТАВИТЬ

Функция ЗАМЕНИТЬ чувствительна к регистру и работает с позициями символов. Для пробелов надёжнее ПОДСТАВИТЬ.

Ошибка 4: Не учли разделители тысяч

В некоторых странах пробел используется как разделитель тысяч (например, `"1 000 000"`). Если его удалить, число станет нечитаемым. Решение: Используйте СЖПРОБЕЛЫ + ручную правку.

Ошибка 5: Применили макрос к защищённым ячейкам

Макрос не сработает, если листы или ячейки защищены. Решение: Снимите защиту (Рецензирование → Снять защиту листа).

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

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

Да, с помощью функции Найти и заменить (Ctrl+H). Но этот метод не удаляет пробелы внутри чисел (например, `"1 000"` останется без изменений) и не работает с неразрывными пробелами. Для полной очистки лучше использовать формулы или Power Query.

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

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

  1. Выделите ячейки.
  2. Нажмите Ctrl+1 (Формат ячеек).
  3. Выберите формат Числовой или Общий.

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

Все методы из статьи работают и в Excel для Mac, кроме горячих клавиш:

  • Замена: Command+Shift+H (вместо Ctrl+H).
  • Открытие редактора VBA: Option+F11.

В остальном алгоритмы идентичны.

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

Да, с помощью Power Query. Создайте запрос на импорт данных (например, из CSV), добавьте шаг очистки пробелов (как в Способе 4), а затем сохраните запрос. При следующем обновлении данных пробелы будут удаляться автоматически.

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

Ошибка возникает, если в ячейке остались нечисловые символы (буквы, знаки валюты, скобки). Например, `"100$"` или `"(50)"`. Решения:

  • Используйте =ПСТР(СЖПРОБЕЛЫ(A1);1;НАЙТИ(" ";A1)-1), чтобы извлечь только числовую часть.
  • Замените лишние символы через ПОДСТАВИТЬ (например, =ПОДСТАВИТЬ(A1;"$";"")).