Отчеты и Аналитика · 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)), указав позицию пробела в строке.
По умолчанию числа выравниваются вправо, текст — влево
Проверьте =ЕЧИСЛО(A1) — вернёт ЛОЖЬ
Ищите СИМВОЛ(160) или копируйте пробел прямо из ячейки
Способ 1: «Найти и заменить» — самый быстрый
Подходит для разовой чистки выгрузки. Главный секрет — не набирать пробел с клавиатуры, а скопировать его из самой ячейки, тогда вы точно захватите нужный символ.
- 1Выделите диапазон с числами или весь лист
- 2Нажмите Ctrl+H
- 3Откройте любую ячейку с пробелом, выделите пробел между цифрами и скопируйте его (Ctrl+C)
- 4Вставьте скопированный пробел в поле «Найти» (Ctrl+V), поле «Заменить на» оставьте пустым
- 5Нажмите «Заменить все»
- 6Если остались значения с обычным пробелом — повторите замену, набрав пробел с клавиатуры
- 7Убедитесь, что числа выровнялись вправо и СУММ считает корректно
Если после замены значения всё ещё остаются текстом (зелёный треугольник в углу, выравнивание влево), выделите столбец и воспользуйтесь командой «Данные → Текст по столбцам → Готово» — Excel заново распознает содержимое и преобразует его в числа. Альтернатива: умножить диапазон на 1 через «Специальную вставку».
Способ 2: формулы ПОДСТАВИТЬ и СЖПРОБЕЛЫ
Формульный вариант удобен, когда исходные данные нужно оставить нетронутыми или выгрузка обновляется регулярно. В свободном столбце напишите:
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);"");" ";"")*1
Здесь первая ПОДСТАВИТЬ убирает неразрывный пробел, вторая — обычный, а умножение на 1 принудительно превращает результат в число. Протяните формулу на весь диапазон, затем при необходимости скопируйте столбец и вставьте обратно «как значения».
Функция СЖПРОБЕЛЫ удаляет только обычные пробелы (код 32) и при этом схлопывает двойные, но с неразрывным пробелом она не справляется. Поэтому универсальная комбинация для «грязных» выгрузок выглядит так: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ")) — сначала неразрывный пробел меняется на обычный, затем лишние пробелы сжимаются. Для чисел, которые должны остаться числами, предпочтительнее первый вариант с умножением на 1.
Способ 3: «Текст по столбцам» и формат ячеек
Иногда проблема решается без удаления пробелов вообще. Выделите столбец, откройте «Данные → Текст по столбцам», выберите «С разделителями», на шаге разделителей отметьте «пробел», а на последнем шаге задайте формат «Общий». Excel разобьёт «1 234 567» на части — это не то, что нужно, поэтому для чисел с разрядами этот путь не подходит.
Правильное применение инструмента — нажать «Готово» сразу на первом шаге (фиксированная ширина, без разделителей). Excel перечитает содержимое ячеек и, если пробелы уже удалены, корректно распознает числа. Это самый быстрый способ «дожать» преобразование после «Найти и заменить».
Когда виноват формат, а не пробелы
Если пробелы видны только на экране, а формулы считают нормально, значит, это не символы в данных, а числовой формат с разделителем разрядов. В этом случае ничего чистить не нужно: либо оставьте как есть, либо смените формат ячеек (Ctrl+1 → Числовой → снимите флажок «Разделитель групп разрядов»).
Способ 4: макрос для регулярных выгрузок
Если выгрузки из 1С приходят каждый день или каждую неделю, разумно автоматизировать чистку простым макросом. Он обрабатывает весь используемый диапазон листа и заменяет оба типа пробелов.
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\").
Сравнение способов и выбор подходящего
Что выбрать
Разовая чистка, минимум действий. Ограничение: нужно знать, какой пробел искать, и не трогать текстовые столбцы
Исходные данные сохраняются, легко обновлять. Ограничение: требуется дополнительный столбец и вставка как значений
Дожимает преобразование текста в число после замены. Сам по себе пробелы не удаляет
Регулярные однотипные выгрузки. Ограничение: обрабатывает весь лист, нужна аккуратность с текстом
Как выбрать действие
Как проверить, что всё получилось
После чистки обязательно убедитесь, что значения стали настоящими числами, а не просто потеряли пробелы. Признаки успеха: выравнивание вправо без явного задания, корректная работа СУММ и сортировки, отсутствие зелёных треугольников в углу ячеек.
Как проверить результат
Возвращает ИСТИНА
ЛОЖЬ — значение всё ещё текст
Сумма совпадает с итогом в отчёте 1С
Сумма меньше — часть значений пропущена как текст
Числа идут 1, 10, 100, 1000
Порядок 1, 10, 100, 2 — сортировка текстовая
Итоги по колонкам совпадают
Расхождения — проверьте дробные значения и разделители
Типичные ошибки при чистке выгрузок
Отдельно осторожно обращайтесь с кодами, артикулами и номерами счетов: для них пробел иногда является частью значения, а преобразование в число уничтожает ведущие нули. Такие столбцы из обработки лучше исключить.
FAQ
Почему «Найти и заменить» не находит пробел, хотя он виден?
Скорее всего, в данных неразрывный пробел (код 160), а вы вводите обычный (код 32). Скопируйте пробел прямо из ячейки в поле «Найти» или используйте формулу с СИМВОЛ(160).
Как убрать пробелы сразу во всей книге, а не на одном листе?
В окне «Найти и заменить» нажмите «Параметры» и в поле «Искать» выберите «в книге». Либо доработайте макрос циклом по всем листам.
После удаления пробелов числа превратились в даты. Что делать?
Это происходит, когда разделитель дробной части не совпадает с региональными настройками Excel. Отмените операцию, задайте ячейкам текстовый формат перед вставкой данных или замените запятую на точку до преобразования.
Можно ли настроить 1С, чтобы пробелы не попадали в выгрузку?
Частично: если выгрузка идёт через сохранение табличного документа, форматирование берётся из отчёта. В типовых конфигурациях без доработки это обычно не отключается, поэтому чистка в Excel остаётся рабочим вариантом. В собственных отчётах разработчик может выводить числа без разделителя разрядов.
Как вернуть пробелы-разделители для красивого отображения, не ломая расчёты?
Не вставляйте символы в значения — примените числовой формат: Ctrl+1 → Числовой → включите «Разделитель групп разрядов». Пробелы будут только визуальными, а числа останутся числами.
Что важно запомнить
Пробелы в выгрузках 1С — чаще всего неразрывный символ (код 160), поэтому копируйте его из ячейки или используйте ПОДСТАВИТЬ с СИМВОЛ(160). После чистки принудительно преобразуйте значения в числа и сверьте итоги с отчётом в 1С. Перед массовой заменой сохраняйте копию файла и не трогайте текстовые столбцы.