Как в Excel перевести текст в число: пошаговое руководство с примерами

Вы когда-нибудь сталкивались с ситуацией, когда Excel упрямо воспринимает числа как текст? Цифры выровнены по левому краю, в ячейке появляется зелёный треугольник с восклицательным знаком, а формулы вместо расчётов возвращают ошибку #ЗНАЧ!. Это классическая проблема неверного формата данных, с которой сталкиваются и новички, и опытные пользователи. В 90% случаев она возникает при импорте данных из внешних источников — баз данных, CSV-файлов или веб-страниц.

В этой статье мы разберём 7 проверенных способов преобразования текстовых значений в числовые — от элементарных до продвинутых. Вы узнаете, как исправить ошибки формата за 2 клика, какие формулы использовать для автоматической конвертации, и почему иногда стандартные методы не работают. Особое внимание уделим скрытым символам (неразрывные пробелы, апострофы), которые часто остаются незамеченными, но ломают все вычисления. Готовы вернуть своим данным числовой статус?

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

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

  • 🔹 Выравнивание в ячейке: числа по умолчанию прижимаются к правому краю, текст — к левому.
  • 🔹 Наличие невидимых символов: апостроф (') перед числом или неразрывный пробел ( ) заставляют Excel трактовать содержимое как текст.
  • 🔹 Источник данных: при импорте из CSV/ТXT файлов Excel часто назначает текстовый формат по умолчанию.
  • 🔹 Ручное форматирование: если ячейке ранее был назначен текстовый формат (Текстовый в меню формата).

Самый коварный случай — неразрывные пробелы (Unicode-символ U+00A0). Они визуально неотличимы от обычных, но делают ячейку текстовой. Например, число 1000 с таким пробелом (1000 ) будет восприниматься как текст, хотя внешне разницы нет. Проверьте это, скопировав данные в Блокнот — там скрытые символы становятся видны.

⚠️ Внимание: Если вы импортируете данные через Power Query, проверьте тип столбца на этапе загрузки. Часто проблема решается простой сменой типа с "Текст" на "Число" ещё до экспорта в Excel.

Способ 1: Преобразование через меню формата ячеек

Самый очевидный, но не всегда работающий метод — ручная смена формата. Подходит, если проблема вызвана не скрытыми символами, а неправильным форматом ячейки.

  1. Выделите проблемные ячейки (или весь столбец, нажав на его заголовок).
  2. Нажмите правой кнопкой и выберите Формат ячеек... (или используйте горячие клавиши Ctrl+1).
  3. В открывшемся окне перейдите на вкладку Число и выберите формат:
    • 📌 Числовой — для целых и дробных чисел.
    • 📌 Денежный или Финансовый — если нужно отобразить валюту.
    • 📌 Дата или Время — если текст представляет собой дату/время (например, "01.01.2023").
  • Нажмите ОК.
  • Если после этого числа остались выровнены по левому краю и формулы по-прежнему не работают — проблема глубже. Переходите к следующим способам.

    ☑️ Подготовка к преобразованию формата

    Выполнено: 0 / 4

    Способ 2: Использование функции ЗНАЧЕН (VALUE)

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

    Примеры использования:

    Исходный текст Формула Результат
    "123" =ЗНАЧЕН(A1) 123
    "$50.99" =ЗНАЧЕН(A1) 50.99
    "30%" =ЗНАЧЕН(ПОДСТАВИТЬ(A1;"%";""))/100 0.3
    "1 000" (с пробелом) =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ";"")) 1000

    Обратите внимание: если в тексте есть неразрывные пробелы или другие непечатаемые символы, ЗНАЧЕН вернёт ошибку #ЗНАЧ!. В этом случае комбинируйте её с функцией ПОДСТАВИТЬ или СЖПРОБЕЛЫ.

    Способ 3: Умножение на 1 (математический трюк)

    Простейший лайфхак — умножить текстовое "число" на 1. Excel автоматически преобразует результат в числовой формат:

    =A1*1

    Этот метод работает, потому что любая математическая операция заставляет Excel пересчитать формат данных. Альтернативные варианты:

    • 🔢 Деление на 1: =A1/1
    • 🔢 Сложение с 0: =A1+0
    • 🔢 Возведение в степень: =A1^1

    Преимущество метода — скорость. Недостаток: если в ячейке есть скрытые символы (например, "100kg"), Excel вернёт ошибку. Для таких случаев комбинируйте умножение с функциями очистки:

    =--ПОДСТАВИТЬ(A1; "kg"; "")

    (Двойной унарный минус -- тоже преобразует текст в число.)

    📊 Какой способ преобразования вы используете чаще?
    Ручная смена формата
    Функция ЗНАЧЕН
    Умножение на 1
    Другие формулы
    Не знаю

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

    Если ваши данные имеют нестандартный формат (например, "100 руб.", "5,2 кг" или "2023/12/31"), используйте инструмент Текст по столбцам. Он позволяет разделить текст на части и преобразовать нужные фрагменты в числа.

    1. Выделите столбец с данными.
    2. Перейдите на вкладку ДанныеТекст по столбцам.
    3. Выберите С разделителями (если данные содержат запятые, точки с запятой) или Фиксированная ширина (если нужно разделить по позициям).
    4. На этапе Формат данных столбца выберите Числовой для нужных столбцов.

    Пример: для строки "150,50 €" можно:

    1. Разделить по пробелу (получим 150,50 и ).
    2. Преобразовать первый столбец в числовой формат.
    3. Удалить второй столбец с валютой.
    ⚠️ Внимание: При импорте дат в формате ДД.ММ.ГГГГ Excel может воспринять их как текст, если системные настройки региона отличаются. В этом случае используйте Текст по столбцам с ручным указанием формата даты.

    Способ 5: Поиск и замена невидимых символов

    Как мы упоминали ранее, неразрывные пробелы и апострофы — главные виновники "текстовых" чисел. Их не видно в Excel, но они ломают все формулы. Чтобы их удалить:

    1. Выделите проблемный диапазон.
    2. Нажмите Ctrl+H (замена).
    3. В поле Найти введите:
      • 🔍 Для апострофа: ' (одинарная кавычка).
      • 🔍 Для неразрывного пробела: удерживайте Alt и наберите 0160 на цифровой клавиатуре (или скопируйте символ из этой статьи:  ).
  • Оставьте поле Заменить на пустым и нажмите Заменить все.
  • После замены примените любой из предыдущих методов (например, умножение на 1). Если не уверены, есть ли в данных скрытые символы, используйте функцию КОДСИМВ для проверки:

    =КОДСИМВ(ЛЕВСИМВ(A1))

    Она вернёт код первого символа в ячейке. Для цифр это 48-57, для апострофа — 39, для неразрывного пробела — 160.

    Как вставить неразрывный пробел в поле "Найти"

    Нажмите Alt и удерживая его, наберите 0160 на цифровой клавиатуре (Num Lock должен быть включён). Символ появится в поле после отпускания Alt.

    Способ 6: Power Query для массовой обработки

    Если вам нужно преобразовать тысячи строк, ручные методы неэффективны. В этом случае поможет Power Query — инструмент для очистки и трансформации данных. Вот как им пользоваться:

    1. Выделите диапазон и перейдите на вкладку ДанныеИз таблицы/диапазона (или Получить данныеИз таблицы/диапазона в новых версиях Excel).
    2. В открывшемся редактора Power Query выделите проблемный столбец.
    3. На вкладке Преобразование выберите Тип данных: Заменить на → Число.
    4. Если появляется ошибка, предварительно очистите данные:
      • 🧹 Заменить значения — для удаления нечисловых символов.
      • 🧹 Удалить пробелы (функция Trim).
  • Нажмите Закрыть и загрузить, чтобы вернуть данные в Excel.
  • Power Query сохраняет все шаги очистки, поэтому при следующем импорте данных вам не придётся повторять действия — достаточно обновить запрос.

    Способ 7: VBA-макрос для автоматической конвертации

    Для продвинутых пользователей или повторяющихся задач подойдёт VBA-макрос. Он преобразовывает все выделенные текстовые "числа" в числовой формат за секунды:

    Sub TextToNumber()
    

    Dim cell As Range

    For Each cell In Selection

    If IsNumeric(cell.Value) Then

    cell.Value = Val(cell.Value)

    cell.NumberFormat = "General"

    End If

    Next cell

    End Sub

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

    1. Нажмите Alt+F11, чтобы открыть редактор VBA.
    2. Вставьте код выше в новый модуль (Insert → Module).
    3. Вернитесь в Excel, выделите нужный диапазон и запустите макрос (Alt+F8 → выберите TextToNumberВыполнить).
    4. Макрос использует функцию Val, которая игнорирует все нечисловые символы после первой цифры. Например, "100kg" станет 100, а "$50.99"50.99.

      ⚠️ Внимание: Перед запуском макроса сохраните файл в формате .xlsm (с поддержкой макросов), иначе код не выполнится. Также отключите защиту от макросов в настройках Excel, если она активна.

      Частые ошибки и как их избежать

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

      Ошибка Причина Решение
      Формула возвращает #ЗНАЧ! В ячейке есть скрытые символы (апостроф, неразрывный пробел) Используйте ПОДСТАВИТЬ или СЖПРОБЕЛЫ перед преобразованием
      Числа отображаются с экспонентой (1.23E+10) Excel автоматически сокращает большие числа Примените пользовательский формат (#) или расширьте столбец
      Дата не преобразовывается в числовой формат Неправильный разделитель (точка вместо косой черты) Используйте Текст по столбцам с указанием формата даты
      После преобразования числа становятся датами Excel интерпретирует числа как даты (например, 01.011 янв) Примените текстовый формат перед преобразованием или используйте апостроф

      Если ни один из методов не сработал, проверьте:

      • 🔍 Языковые настройки: в Файл → Параметры → Дополнительно убедитесь, что разделителем целой и дробной части является нужный символ (точка или запятая).
      • 🔍 Региональные параметры Windows: они влияют на отображение чисел и дат.
      • 🔍 Формат ячейки: иногда проблема кроется в пользовательском формате (например, # "шт.").

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

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

    Это означает, что ширина столбца недостаточна для отображения числа, или ячейка содержит отрицательную дату/время. Расширьте столбец или проверьте диапазон значений.

    Как преобразовать текст в число, если в ячейке есть буквы (например, "100kg")?

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

    =--ПОДСТАВИТЬ(A1; "kg"; "")

    Или для извлечения только цифр:

    =ЗНАЧЕН(СЦЕПИТЬ(ЕСЛИОШИБКА(ПСТР(A1;СТРОКА($1:$10);1)*1;"")))

    Эта формула должна вводиться как формула массива (в старых версиях Excel — Ctrl+Shift+Enter).

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

    Да. Примените к ячейке текстовый формат и используйте апостроф перед вводом (например, '00123). Альтернативно, используйте функцию:

    =ТЕКСТ(A1; "00000")

    где "00000" — шаблон с нужным количеством нулей.

    Почему функция ЗНАЧЕН не работает с числами в формате "1 000" (с пробелами)?

    Функция ЗНАЧЕН не распознаёт пробелы как разделители тысяч. Предварительно удалите их:

    =ЗНАЧЕН(ПОДСТАВИТЬ(A1; " "; ""))
    Как автоматически преобразовывать текст в числа при импорте данных?

    Настройте Power Query для автоматической очистки:

    1. При импорте данных выберите столбец и замените тип на Число.
    2. Добавьте шаг очистки (например, удаление пробелов или нечисловых символов).
    3. Сохраните запрос — при следующем импорте он будет применён автоматически.

    Также можно использовать VBA для обработки событий открытия файла.