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

Почему Excel воспринимает числа как текст и как это исправить

Вы скачали отчёт из , импортировали данные из PDF или получили таблицу по почте — и вместо привычных чисел видите зелёные треугольники в углу ячеек, а формулы suddenly возвращают ошибку #ЗНАЧ!? Это классический симптом, когда Excel воспринимает числа как текст. Причины разнообразны: от неверного формата при экспорте до скрытых непечатаемых символов (например, пробелов или табуляций), которые пользователь не видит, но программа «ловит» как часть текстовой строки.

Проблема не только в визуальном неудобстве. Текстовые «числа» не участвуют в вычислениях: их нельзя просуммировать функцией СУММ(), отсортировать по возрастанию или использовать в формулах типа СРЗНАЧ(). Даже простая операция вроде умножения ячейки на 2 завершится ошибкой. Решение зависит от источника данных и структуры текста: где-то достаточно клика мышкой, а где-то потребуется комбинация функций или даже VBA-скрипт.

В этой статье разберём 7 рабочих методов преобразования текста в числа, включая малоизвестные приёмы для сложных случаев — когда числа записаны с постфиксами («5 кг»), разделителями тысяч («1 000 000») или в нестандартных форматах (например, римские цифры). Все инструкции актуальны для Excel 2010–2023 и Excel Online.

📊 Как часто вы сталкиваетесь с текстовыми числами в Excel?
Ежедневно
Раз в неделю
Редико
Никогда

Метод 1: Быстрое исправление через «Текст по столбцам»

Самый универсальный способ, который работает даже с «грязными» данными — когда в ячейках помимо чисел есть лишние символы (валюта, единицы измерения, пробелы). Алгоритм:

  1. Выделите диапазон с текстовыми числами.
  2. Перейдите на вкладку ДанныеТекст по столбцам.
  3. В первом окне мастера выберите С разделителямиДалее.
  4. Снимите все галочки в разделе «Разделители» (оставьте пустым) → Далее.
  5. На шаге «Формат данных столбца» выберите Общий или ЧисловойГотово.

Этот метод удаляет все нечисловые символы (кроме десятичного разделителя), поэтому подходит для чисел с постфиксами вроде «100 руб.» или «5.5 кг». Если в ячейке было «1 234,56 $», после преобразования останется только «1234,56».

Удалите лишние пробелы функцией СЖПРОБЕЛЫ()

Проверьте регион (разделитель — точка или запятая?)

Сохраните резервную копию файла

Отключите объединение ячеек в диапазоне-->

⚠️ Внимание: Если после преобразования числа отображаются как даты (например, «12-май» вместо «12,5»), измените формат ячейки на Числовой вручную: ГлавнаяЧисловой формат → выберите «Числовой» или «Денежный».

Метод 2: Функция ЗНАЧЕН() для чисел с разделителями

Когда числа записаны в текстовом формате, но без лишних символов (например, «1000,50» вместо 1000,50), проще всего использовать функцию =ЗНАЧЕН(ячейка). Она преобразует строку в число, если строка соответствует числовому формату:

  • 🔹 =ЗНАЧЕН(A1) — преобразует текст «123,45» в число 123,45.
  • 🔹 =ЗНАЧЕН(ПОДСТАВИТЬ(A1; " "; "")) — удаляет пробелы из «1 000» перед преобразованием.
  • 🔹 =ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1)) — извлекает число из строки «150 кг» (до первого пробела).

Ограничение функции: она не работает с римскими цифрами (например, «XV») или числами, где разделителем тысяч служит пробел (например, «1 000 000»). В таких случаях комбинируйте ЗНАЧЕН с ПОДСТАВИТЬ:

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

Эта формула удаляет пробелы и заменяет запятую на точку (актуально для европейского формата чисел).

Что делать если ЗНАЧЕН возвращает #ЗНАЧ!?

Ошибка #ЗНАЧ! означает, что Excel не распознаёт строку как число. Проверьте:

1. Нет ли скрытых символов (например, неразрывный пробел — нажмите F2, чтобы увидеть).

2. Совпадает ли разделитель (запятая или точка) с региональными настройками Excel.

3. Не содержит ли строка буквы (например, «N/A» или «-» вместо нуля).

Метод 3: Умножение на 1 (самый быстрый трюк)

Если числа уже отформатированы корректно (например, «123,45»), но Excel упорно воспринимает их как текст, умножьте их на 1. Это заставит программу пересчитать значение как числовое:

  • 🔹 Введите в пустой столбец формулу =A1*1 и протяните её вниз.
  • 🔹 Скопируйте результаты (правый клик → Специальная вставкаЗначения).
  • 🔹 Удалите вспомогательный столбец.

Альтернативные варианты той же логики:

МетодФормулаКогда использовать
Сложение с 0=A1+0Если умножение не сработало
Двойное отрицание=--A1Для отрицательных чисел
Деление на 1=A1/1Для дробных чисел

Эти приёмы работают, потому что Excel при арифметических операциях автоматически преобразует текст в число, если это возможно. Если формула возвращает ошибку — значит, в исходной ячейке есть недопустимые символы.

Метод 4: Power Query для массовой обработки

Если вам нужно преобразовать тысячи строк с текстовыми числами (например, после импорта из SQL или JSON), ручные методы неэффективны. Здесь поможет Power Query — инструмент для очистки данных, встроенный в Excel 2016+:

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

Преимущества метода:

  • 🔹 Обрабатывает миллионы строк без замедления.
  • 🔹 Автоматически удаляет непечатаемые символы.
  • 🔹 Сохраняет связь с исходными данными (обновляется при изменении источника).

Если после преобразования появляются ошибки, используйте Заменить значения в Power Query для очистки данных. Например, замените пробелы на пустую строку или удалите символ валюты.

Метод 5: VBA-скрипт для сложных случаев

Когда стандартные способы не работают (например, числа записаны римскими цифрами или в нестандартном формате вроде «5-7/8»), поможет макрос. Откройте редактор VBA (Alt + F11) и вставьте этот код:

Sub ConvertTextToNumbers()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

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

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

End If

Next cell

End Sub

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

  1. Выделите диапазон с текстовыми числами.
  2. Запустите макрос (Alt + F8 → выберите ConvertTextToNumbersВыполнить).

Скрипт удаляет пробелы, заменяет запятые на точки и преобразует строку в число с помощью функции Val. Для римских цифр потребуется более сложный код с функцией преобразования (например, RomanToArabic).

⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов) и проверьте, разрешены ли макросы в настройках безопасности (Файл → Параметры → Центр управления безопасностью).

Метод 6: Обработка дробей и смешанных форматов

Числа вроде «3 3/4» (три целых три четверти) или «1,5 млн» требуют особого подхода. Для дробей используйте комбинацию функций:

=ЦЕЛОЕ(A1) + ЗНАЧЕН(ПРАВСИМВ(A1; ДЛСТР(A1)-НАЙТИ(" "; A1)))

Эта формула:

  1. Извлекает целую часть (ЦЕЛОЕ(A1)).
  2. Находит дробную часть после пробела (ПРАВСИМВ + НАЙТИ).
  3. Складывает их как числа.

Для чисел с постфиксами («1,5 млн») подойдёт:

=ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1)) * 1000000

Где 1000000 — множитель для «млн». Для «тыс.» используйте 1000, для «млрд» — 1000000000.

Метод 7: Онлайн-конвертеры и надстройки

Если вам нужно одноразово преобразовать большие объёмы данных, а установка надстроек нежелательна, воспользуйтесь онлайн-сервисами:

  • 🔹 ConvertCSV — очищает числа при конвертации из CSV.
  • 🔹 Ablebits Text to Number — плагин для Excel с расширенными опциями.
  • 🔹 Exceljet — генератор формул для нестандартных форматов.

Преимущество онлайн-инструментов — поддержка экзотических форматов (например, числа в научной нотации или с нестандартными разделителями). Недостаток — риски конфиденциальности при загрузке чувствительных данных.

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

Почему после преобразования числа отображаются как даты (например, «12-май»)?

Excel автоматически интерпретирует некоторые текстовые форматы как даты. Чтобы исправить:

  1. Выделите ячейки → ГлавнаяЧисловой форматТекстовый.
  2. Скопируйте данные (Ctrl + C), затем выполните Специальная вставка → Значения.
  3. Снова измените формат на Числовой.

Если проблема сохраняется, используйте формулу =ЗНАЧЕН(ТЕКСТ(A1; "0")).

Как преобразовать числа с разделителями пробелами («1 000 000»)?

Используйте комбинацию ПОДСТАВИТЬ и ЗНАЧЕН:

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

Если разделитель — неразрывный пробел (визуально не отличим от обычного), замените его на стандартный пробел функцией =ПОДСТАВИТЬ(A1; СИМВОЛ(160); " "), где СИМВОЛ(160) — это неразрывный пробел.

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

Да, при импорте через Данные → Из текста:

  1. На шаге «Формат данных столбца» выберите столбец с числами.
  2. Установите формат Числовой или Общий.
  3. Нажмите Готово.

Если числа всё равно импортируются как текст, откройте файл CSV в Блокноте, убедитесь, что разделитель — запятая (,) или точка с запятой (;), и сохраните файл в кодировке UTF-8.

Как обработать числа с постфиксами («100 руб», «5 кг»)?

Используйте формулу для извлечения числовой части:

=ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ(" "; A1)-1))

Для постфиксов без пробела (например, «100руб») замените первый аргумент НАЙТИ на символ постфикса:

=ЗНАЧЕН(ЛЕВСИМВ(A1; НАЙТИ("руб"; A1)-1))

Для массовой обработки подходит Power Query с шагом «Разделить столбец → По разделителю» (указав пробел или символ постфикса).

Почему функция ЗНАЧЕН не работает с числами вроде «1,234,567.89»?

Функция ЗНАЧЕН не распознаёт числа с несколькими разделителями тысяч (например, «1,234,567.89»). Решение:

  1. Удалите разделители тысяч: =ПОДСТАВИТЬ(A1; ","; "").
  2. Замените десятичный разделитель на точку (если нужно): =ПОДСТАВИТЬ(результат_шага1; ";"; ".").
  3. Примените ЗНАЧЕН к итоговой строке.

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