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

Вы скачали данные из 1С или 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. Вставьте код в новый модуль (Insert → Module).
    3. Выделите диапазон с текстовыми числами в Excel.
    4. Запустите макрос (F5 или через Макросы в вкладке Разработчик).
    5. Макрос автоматически:

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

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

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

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

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