Почему пробелы между цифрами — это проблема, а не мелочь
Вы скачали отчёт из 1С, импортировали данные из PDF или получили таблицу от коллеги, где числа выглядят как 1 000 500 вместо 1000500? Лишние пробелы между цифрами — одна из самых коварных ошибок в Excel. Они не просто портят внешний вид: такие «числа» становятся текстом, их невозможно просуммировать, отфильтровать или использовать в формулах. Даже функция СУММ их игнорирует, а сортировка ломается.
В этой статье разберём 5 проверенных способов удаления пробелов — от ручной замены до автоматизации через VBA. Вы узнаете, какой метод выбрать для 10 строк, а какой спасёт тысячи записей. И да, мы не будем советовать «просто удалить вручную» — речь пойдёт о масштабируемых решениях, которые сэкономят часы работы.
Спойлер: самый быстрый способ для большинства задач — это комбинация функций ПСТР и ПОДСТАВИТЬ, но об этом позже.
Способ 1: Замена пробелов вручную (если данных мало)
Если у вас меньше 50 строк, можно обойтись без формул. Этот метод не требует знаний Excel, но утомителен для больших таблиц.
- Выделите столбец с проблемами. Например, диапазон
A1:A50. - Нажмите
Ctrl + H(или перейдите вГлавная → Найти и выделить → Заменить). - В поле
Найтивведите пробел (один раз нажмите клавишуSpace). - Поле
Заменить наоставьте пустым. - Нажмите
Заменить всё.
⚠️ Внимание: Этот метод удалит все пробелы, включая те, что могут быть нужны в тексте (например, в ячейке 100 кг яблок останется 100кгяблок). Используйте его только для столбцов с чистыми числовыми данными.
Выделите только числовые столбцы
Проверьте, нет ли в данных нужных пробелов (например, в единицах измерения)
Сохраните резервную копию файла
Убедитесь, что в ячейках нет скрытых символов (переносов строк, табуляций)
-->
Если после замены числа всё ещё отображаются с выравниванием по левому краю (как текст), примените формат Числовой через контекстное меню (ПКМ → Формат ячеек).
Способ 2: Функция ПОДСТАВИТЬ — универсальное решение
Функция ПОДСТАВИТЬ (или SUBSTITUTE в английской версии) позволяет удалить пробелы селективно, не затрагивая другие символы. Формула простая:
=ПОДСТАВИТЬ(A1; " "; "")
Где:
- 📌
A1— ячейка с исходными данными; - 📌
" "— пробел (то, что ищем); - 📌
""— пустая строка (на что заменяем).
Преимущества метода:
- ✅ Работает даже если в ячейке смешаны цифры и буквы (например,
1 000 руб.станет1000 руб.). - ✅ Не требует макросов или надстроек.
- ✅ Можно комбинировать с другими функциями (например,
ЗНАЧЕН, чтобы преобразовать текст в число).
Недостаток: формулу придётся протянуть на все ячейки, а затем скопировать значения (Ctrl + C → ПКМ → Специальная вставка → Значения).
Способ 3: Комбинация ПСТР + ПОИСК (для сложных случаев)
Если пробелы в числах стоят не между всеми цифрами (например, 12 345 678, но нужно оставить 12345678), а функция ПОДСТАВИТЬ удаляет лишнее, используйте этот метод:
=ЗНАЧЕН(ПСТР(A1;1;ПОИСК(" ";A1)-1) & ПСТР(A1;ПОИСК(" ";A1)+1;ДЛСТР(A1)))
Как это работает:
ПОИСК(" ";A1)находит позицию первого пробела.ПСТР(A1;1;ПОИСК(" ";A1)-1)извлекает часть строки до пробела.ПСТР(A1;ПОИСК(" ";A1)+1;ДЛСТР(A1))берёт часть после пробела.ЗНАЧЕНпреобразует результат в число.
Этот способ полезен, если пробел всегда один и стоит в фиксированном месте (например, разделяя тысячи). Для нескольких пробелов формула усложняется — проще использовать ПОДСТАВИТЬ.
Альтернативная формула для нескольких пробелов
Если пробелов много, но они стоят через равные интервалы (например, 1 000 000), используйте:
=ЗНАЧЕН(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;" ";"");" ";"");CHAR(160);""))
Здесь CHAR(160) — это неразрывный пробел (встречается в данных из PDF или веб-страниц).
Способ 4: Текст по столбцам (для структурированных данных)
Если пробелы в числах — это разделители тысяч (как в российском формате 1 000 000), а сами числа иначе корректны, используйте инструмент Текст по столбцам:
- Выделите столбец с данными.
- Перейдите в
Данные → Текст по столбцам. - Выберите
С разделителями → Далее. - Снимите все галочки кроме
Пробел. - Нажмите
Готово.
⚠️ Внимание: Этот метод разобьёт каждое число на отдельные ячейки (например, 1 000 500 станет тремя столбцами: 1, 000, 500). Чтобы собрать их обратно, используйте формулу:
=ЗНАЧЕН(СЦЕПИТЬ(A1;B1;C1))
Где A1, B1, C1 — ячейки с разделёнными частями числа.
| Метод | Скорость | Сложность | Подходит для | Сохраняет формат |
|---|---|---|---|---|
| Ручная замена | Медленно | Просто | До 50 строк | Нет (нужно форматировать) |
ПОДСТАВИТЬ |
Быстро | Средне | Любой объём | Да (с ЗНАЧЕН) |
ПСТР+ПОИСК |
Средне | Сложно | Фиксированные пробелы | Да |
| Текст по столбцам | Медленно | Средне | Тысячные разделители | Нет (нужно собирать) |
| VBA-макрос | Мгновенно | Сложно | Большие файлы | Да |
Способ 5: Макрос для удаления пробелов (для продвинутых)
Если вам регулярно приходится чистить данные, автоматизируйте процесс с помощью VBA. Этот макрос удалит все пробелы в выделенном диапазоне и преобразует текст в числа:
Sub RemoveSpacesFromNumbers()
Dim rng As Range
Dim cell As Range
Set rng = Selection
For Each cell In rng
If IsNumeric(Replace(cell.Value, " ", "")) Then
cell.Value = Val(Replace(cell.Value, " ", ""))
cell.NumberFormat = "0" ' Формат числа
End If
Next cell
End Sub
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Вернитесь в Excel, выделите нужный диапазон.
- Запустите макрос через
Alt + F8(выберитеRemoveSpacesFromNumbers).
⚠️ Внимание: Макрос преобразует ячейки в числовой формат. Если в данных есть текстовые постфиксы (например, 1 000 кг), они будут утеряны. Для таких случаев модифицируйте код:
cell.Value = Replace(cell.Value, " ", "")
Этот вариант просто удалит пробелы, не преобразуя формат.
Функция ПОДСТАВИТЬ
Ручная замена
Текст по столбцам
Макросы VBA
Другой вариант
-->
Частые ошибки и как их избежать
Даже опытные пользователи Excel сталкиваются с проблемами при очистке пробелов. Вот типичные ловушки:
- 🔍 Неразрывные пробелы: В данных из PDF или веб-страниц часто встречается символ
CHAR(160)— его не видно, ноПОДСТАВИТЬ(" ";"")не удаляет. Используйте:=ПОДСТАВИТЬ(A1;CHAR(160);"") - 🔢 Потеря ведущих нулей: Если после удаления пробелов числа вроде
00123становятся123, примените текстовый формат к ячейкам (Формат → Текстовый). - 📊 Сбой формул: После очистки проверьте зависимые формулы — они могут не обновиться автоматически. Нажмите
F9, чтобы пересчитать лист.
Ещё одна распространённая проблема — скрытые символы (табуляции, переносы строк). Чтобы их обнаружить, используйте функцию КОДСИМВ:
=КОДСИМВ(ПРАВСИМВ(A1))
Если результат — 9 (табуляция), 10 (перевод строки) или 13 (возврат каретки), очищайте данные с учётом этих символов.
FAQ: Ответы на частые вопросы
Можно ли удалить пробелы без потери форматирования?
Да, если использовать функцию ПОДСТАВИТЬ в комбинации с ЗНАЧЕН (для чисел) или просто копировать значения после очистки. Например:
- В столбце
Bпишете=ПОДСТАВИТЬ(A1;" ";")". - Копируете столбец
B. - Вставляете значения поверх столбца
A(ПКМ → Специальная вставка → Значения).
Форматирование (цвет, шрифт) сохранится, а пробелы исчезнут.
Почему после удаления пробелов числа отображаются как ######?
Это означает, что ширина столбца недостаточна для отображения числа. Растяните столбец или примените формат Общий (Ctrl + ~). Также проверьте, не превышает ли число 15 знаков — Excel не отображает целые числа длиннее 15 символов корректно (используйте текстовый формат).
Как удалить пробелы только между цифрами, но оставить их в тексте?
Используйте формулу с проверкой символов:
=ЕСЛИ(И(ЕЧИСЛО(ПОДСТАВИТЬ(A1;" ";""));НЕ(ЕОШИБКА(ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ";""))))); ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ";"")); A1)
Эта формула:
- Проверяет, станет ли ячейка числом после удаления пробелов.
- Если да — удаляет пробелы и преобразует в число.
- Если нет — оставляет исходное значение.
Можно ли автоматизировать очистку при импорте данных?
Да, с помощью Power Query (в Excel 2016+):
- Импортируйте данные через
Данные → Получить данные → Из файла/базы. - В редакторе Power Query выберите столбец →
Преобразовать → Заменить значения. - Введите пробел в поле
Значение для поиска, оставьтеЗаменить напустым. - Нажмите
Закрыть и загрузить.
При следующем импорте пробелы будут удаляться автоматически.
Что делать, если пробелы появляются снова после сохранения?
Это типично для файлов, связанных с внешними источниками (например, 1С или SQL). Решения:
- 🔄 Отключите связь с источником (
Данные → Подключения → Свойства → Отключить обновление). - 📥 Импортируйте данные как значения (в Power Query выберите
Только создание подключения, затем вставьте как значения). - 📝 Сохраните файл в формате
.xlsx(а не.xls) — старые форматы могут искажать данные.