К статье
Практический материал

Отчеты и Аналитика · 9 мин

Как убрать пробелы в цифрах в Excel после выгрузки из 1С

Почему после выгрузки из 1С в Excel появляются пробелы в числах и как их убрать: найти-заменить, формулы ПОДСТАВИТЬ и СЖПРОБЕЛЫ, макрос и проверка результата.

После выгрузки отчётов из 1С в Excel числа часто содержат пробелы-разделители разрядов: «1 234 567,89». Excel воспринимает такие значения как текст, из-за чего не работают формулы СУММ, ВПР, сводные таблицы и сортировка по возрастанию. Проблема усугубляется тем, что 1С чаще всего выгружает не обычный пробел, а неразрывный (код 160), который стандартная замена «по-человечески» не находит.

Хорошая новость: убрать такие пробелы можно за пару минут, не исправляя каждую ячейку вручную. Ниже разобраны рабочие способы — от простой замены до макроса для регулярных выгрузок, а также как проверить, что числа действительно стали числами.

Почему после выгрузки из 1С в числах появляются пробелы

1С форматирует числа по региональным настройкам с разделителем групп разрядов. При выгрузке в Excel (особенно через «Сохранить как» → «Табличный документ» или mxl/xls) значение попадает в файл уже отформатированной строкой, а не числом. Разделитель при этом — чаще всего неразрывный пробел (символ с кодом 160), реже — обычный пробел (код 32) или тонкий пробел.

Внешне оба пробела выглядят одинаково, но для Excel это разные символы. Именно поэтому замена обычного пробела часто «не работает»: вы ищете символ 32, а в ячейках стоит символ 160. Определить, какой именно пробел используется, можно формулой =КОДСИМВ(ПСТР(A1;3;1)), указав позицию пробела в строке.

Числа прижаты к левому краюExcel видит текст, а не число

По умолчанию числа выравниваются вправо, текст — влево

СУММ возвращает 0Значения не участвуют в расчётах

Проверьте =ЕЧИСЛО(A1) — вернёт ЛОЖЬ

Замена пробела не срабатываетВ данных неразрывный пробел (код 160)

Ищите СИМВОЛ(160) или копируйте пробел прямо из ячейки

Способ 1: «Найти и заменить» — самый быстрый

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

Порядок действий
  1. 1
    Выделите диапазон с числами или весь лист
  2. 2
    Нажмите Ctrl+H
  3. 3
    Откройте любую ячейку с пробелом, выделите пробел между цифрами и скопируйте его (Ctrl+C)
  4. 4
    Вставьте скопированный пробел в поле «Найти» (Ctrl+V), поле «Заменить на» оставьте пустым
  5. 5
    Нажмите «Заменить все»
  6. 6
    Если остались значения с обычным пробелом — повторите замену, набрав пробел с клавиатуры
  7. 7
    Убедитесь, что числа выровнялись вправо и СУММ считает корректно

Если после замены значения всё ещё остаются текстом (зелёный треугольник в углу, выравнивание влево), выделите столбец и воспользуйтесь командой «Данные → Текст по столбцам → Готово» — Excel заново распознает содержимое и преобразует его в числа. Альтернатива: умножить диапазон на 1 через «Специальную вставку».

Способ 2: формулы ПОДСТАВИТЬ и СЖПРОБЕЛЫ

Формульный вариант удобен, когда исходные данные нужно оставить нетронутыми или выгрузка обновляется регулярно. В свободном столбце напишите:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);"");" ";"")*1

Здесь первая ПОДСТАВИТЬ убирает неразрывный пробел, вторая — обычный, а умножение на 1 принудительно превращает результат в число. Протяните формулу на весь диапазон, затем при необходимости скопируйте столбец и вставьте обратно «как значения».

Функция СЖПРОБЕЛЫ удаляет только обычные пробелы (код 32) и при этом схлопывает двойные, но с неразрывным пробелом она не справляется. Поэтому универсальная комбинация для «грязных» выгрузок выглядит так: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ")) — сначала неразрывный пробел меняется на обычный, затем лишние пробелы сжимаются. Для чисел, которые должны остаться числами, предпочтительнее первый вариант с умножением на 1.

Способ 3: «Текст по столбцам» и формат ячеек

Иногда проблема решается без удаления пробелов вообще. Выделите столбец, откройте «Данные → Текст по столбцам», выберите «С разделителями», на шаге разделителей отметьте «пробел», а на последнем шаге задайте формат «Общий». Excel разобьёт «1 234 567» на части — это не то, что нужно, поэтому для чисел с разрядами этот путь не подходит.

Правильное применение инструмента — нажать «Готово» сразу на первом шаге (фиксированная ширина, без разделителей). Excel перечитает содержимое ячеек и, если пробелы уже удалены, корректно распознает числа. Это самый быстрый способ «дожать» преобразование после «Найти и заменить».

Когда виноват формат, а не пробелы

Если пробелы видны только на экране, а формулы считают нормально, значит, это не символы в данных, а числовой формат с разделителем разрядов. В этом случае ничего чистить не нужно: либо оставьте как есть, либо смените формат ячеек (Ctrl+1 → Числовой → снимите флажок «Разделитель групп разрядов»).

Способ 4: макрос для регулярных выгрузок

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

vba
Sub RemoveSpaces()
    Dim rng As Range
    Set rng = ActiveSheet.UsedRange
    rng.Replace What:=Chr(160), Replacement:="", LookAt:=xlPart
    rng.Replace What:=" ", Replacement:="", LookAt:=xlPart
End Sub

Нажмите Alt+F11, вставьте модуль (Insert → Module), скопируйте код и запустите макрос через Alt+F8. Учтите ограничение: макрос удалит все пробелы на листе, включая текстовые ячейки, где пробелы нужны (например, ФИО или наименования). Если это критично, ограничьте диапазон конкретными столбцами, заменив UsedRange, например, на Range(\"C:F\").

Сравнение способов и выбор подходящего

Что выбрать

Найти и заменить

Разовая чистка, минимум действий. Ограничение: нужно знать, какой пробел искать, и не трогать текстовые столбцы

Формулы ПОДСТАВИТЬ

Исходные данные сохраняются, легко обновлять. Ограничение: требуется дополнительный столбец и вставка как значений

Текст по столбцам

Дожимает преобразование текста в число после замены. Сам по себе пробелы не удаляет

Макрос

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

Маршрут решения

Как выбрать действие

Файл разовый, чисел немногоCtrl+H с копированием пробела из ячейки
Выгрузка приходит регулярно в одном видеНастройте формулу-обработчик или макрос
После замены числа остались текстомПрогоните столбец через «Текст по столбцам → Готово»
Формулы считают, пробелы только визуальныеНичего не удаляйте — измените числовой формат

Как проверить, что всё получилось

После чистки обязательно убедитесь, что значения стали настоящими числами, а не просто потеряли пробелы. Признаки успеха: выравнивание вправо без явного задания, корректная работа СУММ и сортировки, отсутствие зелёных треугольников в углу ячеек.

Контрольные точки

Как проверить результат

=ЕЧИСЛО(A1) на нескольких ячейках
Норма

Возвращает ИСТИНА

Тревожный признак

ЛОЖЬ — значение всё ещё текст

=СУММ(диапазон)
Норма

Сумма совпадает с итогом в отчёте 1С

Тревожный признак

Сумма меньше — часть значений пропущена как текст

Сортировка по возрастанию
Норма

Числа идут 1, 10, 100, 1000

Тревожный признак

Порядок 1, 10, 100, 2 — сортировка текстовая

Контрольная сверка с 1С
Норма

Итоги по колонкам совпадают

Тревожный признак

Расхождения — проверьте дробные значения и разделители

Типичные ошибки при чистке выгрузок

Типичные ошибки
01
Искать обычный пробел, когда в данных неразрывный — замена «не находит» ничего, и кажется, что способ не работает
02
Заменять пробелы по всему листу, задевая текстовые колонки — сливаются ФИО, адреса и наименования
03
Забыть преобразовать результат в число — визуально пробелы ушли, но СУММ по-прежнему возвращает 0
04
Чистить единственный файл без копии — при ошибке массовой замены исходные данные не восстановить
05
Удалять пробелы в числах, которые потом выгружаются обратно в 1С как текст с лидирующими нулями (коды, счета) — теряются нули в начале

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

FAQ

Почему «Найти и заменить» не находит пробел, хотя он виден?

Скорее всего, в данных неразрывный пробел (код 160), а вы вводите обычный (код 32). Скопируйте пробел прямо из ячейки в поле «Найти» или используйте формулу с СИМВОЛ(160).

Как убрать пробелы сразу во всей книге, а не на одном листе?

В окне «Найти и заменить» нажмите «Параметры» и в поле «Искать» выберите «в книге». Либо доработайте макрос циклом по всем листам.

После удаления пробелов числа превратились в даты. Что делать?

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

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

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

Как вернуть пробелы-разделители для красивого отображения, не ломая расчёты?

Не вставляйте символы в значения — примените числовой формат: Ctrl+1 → Числовой → включите «Разделитель групп разрядов». Пробелы будут только визуальными, а числа останутся числами.

Итог

Что важно запомнить

Пробелы в выгрузках 1С — чаще всего неразрывный символ (код 160), поэтому копируйте его из ячейки или используйте ПОДСТАВИТЬ с СИМВОЛ(160). После чистки принудительно преобразуйте значения в числа и сверьте итоги с отчётом в 1С. Перед массовой заменой сохраняйте копию файла и не трогайте текстовые столбцы.