Как преобразовать текст в число в Excel: все способы с примерами

Вы скачали данные из или Google Analytics, а в ячейках Excel вместо чисел — странные тексты с апострофами или зелёные треугольники? Или после копирования из веб-сайта все цифры вдруг стали "левыми"? Проблема преобразования текста в числа — одна из самых распространённых в Microsoft Excel и Google Sheets. Даже опытные пользователи иногда теряют часы на борьбу с форматами, когда простая формула =СУММ(A1:A10) вдруг возвращает ноль вместо ожидаемого результата.

В этой статье разберём 5 рабочих способов конвертации текста в числа — от элементарных (подойдут новичкам) до продвинутых (для автоматизации рутинных задач). Особое внимание уделим скрытым символам, которые блокируют преобразование, и типичным ошибкам вроде #ЗНАЧ! или #ЧИСЛО!. А в конце — чек-лист для быстрой диагностики проблемы.

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

Прежде чем исправлять, нужно понять причину. Excel распознаёт текст вместо чисел в четырёх случаях:

  • 📌 Скрытые символы: невидимые пробелы, апострофы (') или табуляции перед числом (часто бывает при экспорте из баз данных).
  • 📌 Формат ячейки: ячейка изначально отформатирована как Текстовый, даже если в ней цифры.
  • 📌 Импорт данных: при загрузке из CSV, XML или внешних источников Excel иногда "защищает" данные, присваивая им текстовый формат.
  • 📌 Ручной ввод: если вы начали вводить данные с апострофа (например, '123), чтобы сохранить ведущие нули.

Как проверить? Кликните по ячейке и посмотрите на строку формул: если число выровнено по левому краю (как текст) или перед ним виден апостроф — это текст. Ещё один признак: зелёный треугольник в верхнем левом углу ячейки с восклицательным знаком (ошибка формата).

📊 Как часто вы сталкиваетесь с текстовыми числами в Excel?
Постоянно (ежедневно)
Иногда (раз в неделю)
Рядом (раз в месяц)
Никогда не было такой проблемы

Способ 1: Ручное редактирование (для маленьких таблиц)

Самый простой, но трудоёмкий метод — вручную отредактировать ячейку. Подходит, если "текстовых чисел" мало (до 50 строк). Алгоритм:

  1. Выделите проблемную ячейку (например, A1).
  2. Нажмите F2 (или дважды кликните по ячейке), чтобы перейти в режим редактирования.
  3. Удалите все невидимые символы:
    • Апостроф (') в начале.
    • Пробелы перед/после числа (нажмите Backspace или Delete).
    • Кавычки ("123").
  • Нажмите Enter — Excel автоматически преобразует значение в число.
  • Если после редактирования число всё равно отображается как текст, проверьте формат ячейки:

    1. Правый клик по ячейке → Формат ячеек (Ctrl+1).
    2. Выберите категорию Числовой или Общий.
    3. Укажите нужное количество десятичных знаков.

    Способ 2: Функция ЗНАЧЕН (VALUE) для формул

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

    Примеры применения:

    Исходные данные (A1) Формула Результат
    '123,45 =ЗНАЧЕН(A1) 123,45 (число)
    "500 руб" =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" руб";"")) 500
    1 000 000 (с пробелами) =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ";"")) 1000000
    15% =ЗНАЧЕН(ЛЕВСИМВ(A1;2))/100 0,15

    Обратите внимание: ЗНАЧЕН работает только если текст можно однозначно интерпретировать как число. Если в ячейке "Прибыль: 1000", функция вернёт ошибку #ЗНАЧ!. В таких случаях комбинируйте её с ПОДСТАВИТЬ, ПСТР или НАЙТИ.

    Что делать, если ЗНАЧЕН не работает?

    Если функция возвращает #ЗНАЧ!, проверьте:

    1. Есть ли в тексте буквы или символы (например, "$100" — доллар мешает).

    2. Используется ли в качестве разделителя запятая или точка неверно (в русской версии Excel разделитель — запятая, в английской — точка).

    3. Нет ли неразрывных пробелов (вставьте в пустую ячейку =СИМВОЛ(160) и скопируйте оттуда символ для замены).

    Способ 3: Текст по столбцам (для сложных форматов)

    Если ваши данные имеют нестандартный формат (например, 12.345,67 € или 1 000 кг), используйте инструмент Текст по столбцам. Он позволяет "разбить" текст на части и извлечь только числовую составляющую.

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

    1. Выделите диапазон с текстовыми числами.
    2. Перейдите на вкладку ДанныеТекст по столбцам.
    3. Выберите С разделителямиДалее.
    4. Снимите все галочки в разделе Разделители (нам не нужно разбивать текст).
    5. Нажмите Готово.
    6. Теперь выделите полученные данные и измените формат ячеек на Числовой.

    Этот метод полезен, когда числа "спрятаны" среди других символов. Например, из "Цена: 1500 руб." вы получите 1500, если предварительно уберёте лишние слова через ПОДСТАВИТЬ.

    Удалите все символы валюты ($, €, ₽) через Найти и заменить

    Замените пробелы-разделители тысяч на пустой символ

    Убедитесь, что десятичный разделитель (точка/запятая) соответствует региональным настройкам Excel

    Скопируйте исходные данные в новый столбец на случай ошибки-->

    Способ 4: Умножение на 1 (массовое преобразование)

    Самый быстрый способ преобразовать весь столбец с текстовыми числами — умножить его на 1. Этот трюк заставляет Excel пересчитать формат ячеек:

    1. В пустой ячейке (например, B1) введите 1.
    2. Скопируйте эту ячейку (Ctrl+C).
    3. Выделите диапазон с текстовыми числами (например, A1:A100).
    4. Правый клик → Специальная вставка → выберите Значения и УмножитьОК.
    5. Удалите ячейку с единицей.

    Альтернативный вариант — использовать формулу:

    =A1*1

    затем протянуть её на весь столбец и заменить формулы на значения (КопироватьВставить как значения).

    ⚠️ Внимание: Если в ячейках были даты в текстовом формате (например, "01.01.2023"), умножение на 1 преобразует их в числовой формат Excel (например, 44927 — количество дней с 1900 года). Чтобы вернуть нормальный вид, измените формат ячейки на Дата.

    Способ 5: Макрос VBA для автоматизации

    Если вам регулярно приходится обрабатывать большие объёмы данных, макрос VBA сэкономит часы времени. Ниже код, который преобразует все текстовые числа в выделенном диапазоне:

    Sub ConvertTextToNumbers()
    

    Dim cell As Range

    For Each cell In Selection

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

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

    cell.NumberFormat = "General"

    End If

    Next cell

    End Sub

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

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

      • Заменяет запятые на точки (для корректной работы с десятичными разделителями).
      • Применяет функцию Val, которая игнорирует все нечисловые символы.
      • Устанавливает общий формат ячейки.

      ⚠️ Внимание: Перед запуском макроса сохраните файл — если в данных есть критические ошибки (например, ячейки с смешанным текстом вроде "100a"), макрос обнулит их. Тестируйте на копии данных!

      Типичные ошибки и их решения

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

      Ошибка Причина Решение
      #ЗНАЧ! в формулах Ячейка содержит не только числа (например, "100a") Используйте =ЗНАЧЕН(ПОДСТАВИТЬ(A1;"a";"")) или очистите данные вручную
      Числа отображаются с экспонентой (1.23E+10) Слишком большие числа или научный формат Измените формат ячейки на Числовой и увеличьте количество десятичных знаков
      Даты стали числами (44927) Excel хранит даты как количество дней с 1900 года Измените формат ячейки на Дата или Дата (краткий формат)
      Ведущие нули исчезли (00123123) Excel по умолчанию убирает незначащие нули Используйте текстовый формат или добавьте апостроф перед числом ('00123)

      Ещё одна распространённая проблема — региональные настройки. Если ваш Excel настроен на русский язык, а данные пришли из английской системы (где разделитель — точка), функции вроде ЗНАЧЕН не будут работать. Решение:

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

      FAQ: Ответы на частые вопросы

      Почему после преобразования числа стали отрицательными?

      Это происходит, если в исходных данных стояли скобки для обозначения отрицательных чисел (например, (100)). Используйте формулу:

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

      или замените скобки на знак минус через Найти и заменить.

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

      Используйте комбинацию функций:

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

      Здесь " " — неразрывный пробел (вставьте его через =СИМВОЛ(160)). Альтернатива — замена на пустой символ.

      Можно ли преобразовать текст в числа без потери ведущих нулей?

      Да, но только если оставить данные в текстовом формате. Используйте один из вариантов:

      • Добавьте апостроф перед числом ('00123).
      • Примените пользовательский формат: выделите ячейки → Формат ячеекЧисловой → укажите формат 00000 (количество нулей = количество знаков).
      • Используйте формулу =ТЕКСТ(A1;"00000").

      Почему функция ЗНАЧЕН не работает с дробными числами?

      Скорее всего, проблема в десятичном разделителе. В русскоязычном Excel разделитель — запятая, в английском — точка. Решение:

      =ЗНАЧЕН(ПОДСТАВИТЬ(A1;",";"."))  ' для данных с точкой
      

      =ЗНАЧЕН(ПОДСТАВИТЬ(A1; "."; ",")) ' для данных с запятой

      Как преобразовать текст в числа в Google Sheets?

      В Google Таблицах работают те же методы, но есть нюансы:

      • Функция =VALUE() (аналог ЗНАЧЕН).
      • Для массового преобразования используйте Паста специальнаяУмножить (как в Excel).
      • В настройках файла (ФайлПараметры) проверьте региональные настройки — они влияют на разделители.