Преобразование текста с пробелами в число в Excel: все рабочие методы

Почему Excel не воспринимает числа с пробелами как данные?

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

Дело в региональных настройках: по умолчанию Excel ожидает, что разделителем тысяч будет запятая (в европейских версиях) или точка (в американских). Пробел же воспринимается как текстовый символ, и программа автоматически присваивает ячейке Текстовый формат. Даже если вы вручную поменяете формат на Числовой, Excel не сможет корректно интерпретировать значение — пробелы останутся на месте.

К примеру, строка 1 250 000 для Excel — это не миллион двести пятьдесят тысяч, а просто набор символов. И вот здесь начинаются проблемы: невозможно построить график, отсортировать данные или применить математические функции. Решение зависит от объёма данных, версии Excel и ваших навыков работы с формулами.

Метод 1: Замена пробелов функцией ПОДСТАВИТЬ + преобразование

Самый универсальный способ — использовать комбинацию функций ПОДСТАВИТЬ (или SUBSTITUTE в английской версии) и ЗНАЧЕН (VALUE). Этот метод работает во всех версиях Excel, включая Excel 2010 и Excel 365, и не требует макросов.

Формула выглядит так:

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

Где:

  • 📌 A1 — адрес ячейки с исходным текстом (например, 1 000 500)
  • 📌 " " — пробел (искомый символ для замены)
  • 📌 "" — пустая строка (на что заменяем пробел)

Функция ПОДСТАВИТЬ удаляет все пробелы, а ЗНАЧЕН преобразует результат в число. После этого можно скопировать формулу вниз и заменить значения на месте (через Специальная вставка → Значения).

⚠️ Внимание: Если в ячейке есть не только пробелы, но и другие нечисловые символы (например, 1 200 руб.), формула вернёт ошибку. В этом случае сначала удалите лишние символы функцией ЛЕВСИМВ или ПРАВСИМВ.

Убедитесь, что в ячейках нет букв и знаков валюты|

Проверьте, что пробелы — единственные разделители|

Скопируйте исходные данные на отдельный лист (на случай ошибки)|

Примените формат "Числовой" к ячейкам с результатом-->

Метод 2: Разделение текста на столбцы с последующим объединением

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

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

  1. Выделите столбец с текстом (например, A1:A100).
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. В первом окне мастера выберите С разделителямиДалее.
  4. Снимите все галочки кроме ПробелДалее.
  5. Укажите формат данных для нового столбца (Общий или Числовой) → Готово.

Excel разобьёт каждое число на отдельные части по пробелам (например, 1, 250, 000 в разных столбцах). Теперь остаётся:

  • 🔢 В новой колонке использовать формулу объединения: =A1&B1&C1 (если данные разделились на 3 столбца).
  • 🔢 Применить формат Числовой к результату.
  • 🔢 Заменить формулы на значения (Копировать → Специальная вставка → Значения).

Минус метода: если числа имеют разное количество разрядов (например, 1 200 и 10 500 300), они разобьются на разное количество столбцов, и формулу объединения придётся корректировать вручную.

Формулы (ПОДСТАВИТЬ+ЗНАЧЕН)|

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

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

Макросы VBA|

Другой способ-->

Метод 3: Найти и заменить (быстро, но с ограничениями)

Самый простой способ — воспользоваться стандартной функцией Найти и заменить (Ctrl+H). Он подходит, если:

  • 📄 Данные однородные (все числа с пробелами в одном формате).
  • 📄 Нет других пробелов, которые нельзя удалять (например, в тексте типа 1 000 шт.).
  • 📄 Вам не нужно сохранять исходный вид данных.

Инструкция:

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

Преимущество метода — скорость. Недостатки:

  • ❌ Удаляются все пробелы, даже те, что не являются разделителями тысяч.
  • ❌ Если в ячейке было 1 200 руб., после замены останется 1200руб. — придётся чистить вручную.
  • ❌ Не работает, если пробелы — неразрывные (вставлены через Alt+0160).
Как удалить неразрывные пробелы?

Если замена обычного пробела не сработала, попробуйте в поле "Найти" вставить неразрывный пробел. Для этого:

1. Нажмите Ctrl+C на любой ячейке с числом (например, 1 200).

2. Вставьте содержимое в поле "Найти" — Excel автоматически подставит неразрывный пробел, если он есть.

3. Замените его на пустую строку.

Метод 4: Power Query (для больших массивов данных)

Если вы работаете с Excel 2016 или новее (включая Excel 365), самый мощный инструмент для преобразования — Power Query. Он позволяет очищать данные автоматически, сохраняя связь с источником.

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

  1. Выделите диапазон с данными и перейдите на вкладку ДанныеИз таблицы/диапазона (или Get Data → From Table/Range в английской версии).
  2. В открывшемся редакторе Power Query выделите столбец с числами.
  3. На вкладке Преобразование (Transform) выберите Заменить значения (Replace Values).
  4. В поле Значение для поиска введите пробел, в Заменить на оставьте пусто → ОК.
  5. Выделите столбец → Преобразование → Тип данных → Целое число (или Decimal Number).
  6. Нажмите Закрыть и загрузить (Close & Load).

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

  • 🔄 Обрабатывает миллионы строк без замедления.
  • 🔄 Сохраняет историю преобразований — можно обновить данные одним кликом.
  • 🔄 Поддерживает сложные сценарии (например, удаление валютных символов одновременно с пробелами).
⚠️ Внимание: Если после загрузки числа отображаются с экспонентой (например, 1.25E+06 вместо 1250000), расширьте столбец вручную или примените формат Числовой без разделителей.
Метод Сложность Подходит для Ограничения
ПОДСТАВИТЬ+ЗНАЧЕН ⭐⭐ Любых данных, включая нестандартные форматы Требует знания функций
Текст по столбцам ⭐⭐ Чисел с одинаковым количеством разрядов Нужно объединять столбцы вручную
Найти и заменить Простых случаев без дополнительных символов Удаляет все пробелы подряд
Power Query ⭐⭐⭐ Больших массивов данных Доступен только в Excel 2016+
Макросы VBA ⭐⭐⭐⭐ Автоматизации повторяющихся задач Требует навыков программирования

Метод 5: Макрос VBA для автоматизации (продвинутый уровень)

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

Код для удаления пробелов и преобразования в числа:

Sub ConvertTextToNumber()

Dim rng As Range

Dim cell As Range

' Выделяем диапазон (измените A1:A100 на свой)

Set rng = Selection

For Each cell In rng

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

cell.Value = Replace(cell.Value, " ", "")

cell.NumberFormat = "0" ' Числовой формат

End If

Next cell

End Sub

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

  1. Нажмите Alt+F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите диапазон с данными в Excel.
  4. Запустите макрос (F5 или через Макросы → Выполнить).

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

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

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

  • 🚫 Ошибка #ЗНАЧ! после применения ЗНАЧЕН:
    Причина: в ячейке остались нечисловые символы (буквы, знаки валюты, скобки).
    Решение: используйте ПОДСТАВИТЬ для удаления лишних символов или комбинацию ЛЕВСИМВ/ПРАВСИМВ для обрезки.
  • 🚫 Числа отображаются с экспонентой (1.23E+05):
    Причина: Excel автоматически сокращает большие числа.
    Решение: расширьте столбец или примените формат Числовой с нужным количеством десятичных знаков.
  • 🚫 После замены пробелов числа не суммируются:
    Причина: формат ячеек остался Текстовый.
    Решение: выделите ячейки → Главная → Формат → Формат ячеек → Числовой.
  • 🚫 Макрос не обрабатывает ячейки:
    Причина: в настройках отключены макросы или выделен неверный диапазон.
    Решение: проверьте настройки безопасности и правильность выделения.

Если вы работаете с данными из или других бухгалтерских программ, обратите внимание на неразрывные пробелы (вставляются через Alt+0160). Они не удаляются стандартной заменой! Используйте функцию:

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

Здесь CHAR(160) — это неразрывный пробел.

FAQ: Частые вопросы по преобразованию текста в числа

Можно ли преобразовать числа с пробелами в Google Таблицах?

Да, в Google Sheets используйте ту же функцию =ЗНАЧЕН(ПОДСТАВИТЬ(A1; " "; "")) (на английском — =VALUE(SUBSTITUTE(A1; " "; ""))). Также работает инструмент Найти и заменить (Ctrl+H) и разделение текста на столбцы (Данные → Разделить текст на столбцы).

Почему после преобразования числа округляются?

Это происходит, если в ячейках установлен формат с ограниченным количеством десятичных знаков (например, Числовой с 0 знаков после запятой). Решение: выделите ячейки → Формат ячеек → Числовой → Указать количество десятичных знаков.

Как преобразовать числа с пробелами и знаками валюты (например, 1 200 $)?

Используйте вложенные функции ПОДСТАВИТЬ:

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

Для евро () или рублей () замените " $" на нужный символ.

Можно ли автоматизировать процесс для новых данных?

Да, есть два варианта:

  1. Power Query: создайте запрос, который подключается к источнику данных и автоматически очищает пробелы при обновлении.
  2. Таблица Excel: преобразуйте диапазон в Умную таблицу (Ctrl+T) и добавьте столбец с формулой =ЗНАЧЕН(ПОДСТАВИТЬ([@Столбец1];" ";"")). При добавлении новых строк формула будет копироваться автоматически.
Почему в некоторых ячейках после преобразования остаются пробелы?

Вероятно, в данных используются непечатаемые символы (например, табуляция или неразрывный пробел). Чтобы их удалить, используйте функцию СЖПРОБЕЛЫ:

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

Функция СЖПРОБЕЛЫ удаляет все лишние пробелы, включая ведущие и хвостовые.