Как в Excel конвертировать текст в числа: от простых способов до продвинутых техник

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

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

Чаще всего проблема возникает при работе с:

  • 📄 Данными, экспортированными из бухгалтерских программ (, MySQL, SAP)
  • 🌐 Таблицами, скопированными с веб-страниц (особенно если числа содержат разделители тысяч)
  • 📊 Файлами .CSV или .TXT, где числа записаны с лидирующими нулями (например, артикулы 001234)
  • 🔢 Ячейками, к которым ранее применялись функции вроде =ТЕКСТ() или =СЦЕПИТЬ()

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

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

Способ 1: Используем «умную» функцию ЗНАЧЕН()

Самый надёжный и универсальный метод — применение функции =ЗНАЧЕН(текст). Она преобразует любую текстовую строку, которую Excel может интерпретировать как число, в числовой формат. Например:

  • 🔹 "123"123
  • 🔹 "1 000,50"1000.5 (если в настройках Excel точка как разделитель)
  • 🔹 "-5%"-0.05

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

  1. В пустой ячейке (например, B1) введите формулу:
    =ЗНАЧЕН(A1)
  2. Растяните формулу на весь диапазон (двойной клик по маркеру автозаполнения).
  3. Скопируйте результаты (Ctrl+C) и вставьте их поверх исходных данных через Специальная вставка → Значения.
⚠️ Внимание: Функция ЗНАЧЕН() вернёт ошибку #ЗНАЧ!, если текст нельзя преобразовать в число. Например, для строки "123abc" или "Прибыль: 1000". В таких случаях предварительно очистите данные с помощью =ПОДСТАВИТЬ() или регулярных выражений (в Power Query).

Способ 2: Преобразование через «Текст по столбцам»

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

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

Этот способ особенно эффективен для чисел, записанных в европейском формате (где запятая — разделитель тысяч, а точка — десятичный разделитель), например: "1.234,56"1234.56.

Исходный текст Результат после конвертации Примечание
"1 000" 1000 Пробелы как разделители тысяч удаляются
"1.234,56" 1234.56 Европейский формат (запятая → точка)
"$1,000" 1000 Символ валюты игнорируется
"5E+03" 5000 Экспоненциальная запись распознаётся
Почему иногда "Текст по столбцам" не работает?

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

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;CHAR(160);" ");"  ":";":")

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

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

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

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

  • 🚀 Мгновенный результат без формул.
  • 🔄 Сохраняет исходное положение данных (не нужно копировать и вставлять значения).
  • 📊 Работает даже с ячейками, содержащими формулы.
⚠️ Внимание: Если в ячейках есть нечисловые символы (например, "100 руб"), умножение на 1 вернёт ошибку #ЗНАЧ!. В таких случаях предварительно очистите данные с помощью =ЛЕВСИМВ() или =ПСТР().

Удалить символы валют (₽, $, €)|Заменить пробелы на пустые символы|Проверить отсутствие текста в ячейках|Убедиться, что десятичный разделитель соответствует настройкам Excel-->

Способ 4: Используем Power Query для массовой обработки

Если вам нужно преобразовать тысячи строк с текстовыми числами (например, в отчётах из Google Analytics или CRM-систем), ручные методы будут неэффективны. Здесь на помощь придёт Power Query — инструмент для ETL-обработки (извлечение, преобразование, загрузка) данных.

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

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

    Способ 5: Формат ячеек + «Очистить содержимое»

    Иногда текстовые числа отображаются с зелёным треугольником в углу ячейки — это знак ошибки формата. В таких случаях поможет комбинация изменения формата и принудительного пересчёта:

    1. Выделите проблемный диапазон.
    2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
    3. Выберите категорию Числовой или ДенежныйОК.
    4. На вкладке Главная в группе Редактирование нажмите ОчиститьОчистить содержимое.
    5. Немедленно нажмите Ctrl+Z (отмена), чтобы вернуть данные.

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

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

    Если вы регулярно сталкиваетесь с текстовыми числами, имеет смысл создать макрос VBA, который будет конвертировать их в один клик. Вот готовый код:

    Sub TextToNumber()
    

    Dim rng As Range

    For Each rng In Selection

    If IsNumeric(rng.Value) Then

    rng.Value = CDbl(rng.Value)

    rng.NumberFormat = "General"

    End If

    Next rng

    End Sub

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

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

      • 🤖 Обрабатывает тысячи ячеек за секунды.
      • 🔄 Сохраняет исходное форматирование (цвет, границы).
      • 🛠 Подходит для автоматизации отчётов.
      ⚠️ Внимание: Макрос преобразует только те ячейки, которые Excel может распознать как числа. Если в строке есть постфиксы (например, "100 кг"), они будут проигнорированы. Для сложных случаев модифицируйте код с использованием Replace или регулярных выражений.

      Способ 7: Функция =--() (двойной унарный минус)

      Это малоизвестный, но крайне эффективный приём для быстрого преобразования текста в числа без дополнительных столбцов. Двойной минус (--) заставляет Excel выполнить математическую операцию, что автоматически конвертирует текст в числовой формат:

      =--A1

      Как это работает:

      • 🔢 Первый минус пытается сделать число отрицательным (но текст остаётся текстом).
      • 🔢 Второй минус инвертирует результат обратно в положительное число, уже в числовом формате.

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

    1. В ячейке B1 введите:
      =--ПОДСТАВИТЬ(A1;" руб";"")
    2. Растяните формулу на весь столбец.
    3. Скопируйте результаты и вставьте их поверх исходных данных через Специальная вставка → Значения.

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

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

    Почему после конвертации числа отображаются как даты (например, 1-янв вместо 1)?

    Excel автоматически интерпретирует некоторые числа как даты, если они соответствуют формату ДД-МММ или ММ-ДД. Чтобы исправить:

    1. Выделите ячейки.
    2. Нажмите Ctrl+1 → выберите формат Числовой или Общий.
    3. Если это не помогло, используйте формулу:
      =ТЕКСТ(A1;"0")
    Как преобразовать текстовые числа с буквами (например, "100a" или "Прибыль: 500")?

    Для таких случаев подойдёт комбинация функций =ПОИСК(), =ЛЕВСИМВ() и =ЗНАЧЕН(). Пример для строки "Прибыль: 500":

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

    Для чисел с постфиксами (например, "100a") используйте:

    =ЗНАЧЕН(ЛЕВСИМВ(A1;МИН(НАЙТИ({0;1;2;3;4;5;6;7;8;9};A1&"0123456789"))-1))
    Можно ли преобразовать текст в числа без потери лидирующих нулей?

    Лидирующие нули (например, в артикулах 001234) — это текстовый формат, и конвертировать их в числа нельзя, так как Excel автоматически обрежет нули. Решения:

    • 📌 Оставьте данные в текстовом формате, но измените выравнивание на по правому краю (чтобы визуально имитировать числа).
    • 📌 Используйте Текстовый формат ячейки и добавляйте нули вручную через функцию =ТЕКСТ(A1;"000000").
    • 📌 В Power Query преобразуйте столбец в текст и добавьте нули через Column.FromExamples.
    Почему после импорта из числа становятся текстом с апострофом?

    Программы вроде или SAP часто экспортируют числа с невидимым апострофом ('), чтобы сохранить лидирующие нули или специальное форматирование. Чтобы удалить апострофы:

    1. Выделите диапазон.
    2. Нажмите Ctrl+H (замена).
    3. В поле Найти введите ' (апостроф), поле Заменить на оставьте пустым.
    4. Нажмите Заменить все.

    После этого примените любой метод конвертации из этой статьи.

    Как проверить, какие ячейки в таблице содержат текст вместо чисел?

    Чтобы выявить все текстовые числа в диапазоне, используйте условное форматирование:

    1. Выделите диапазон.
    2. Перейдите на вкладку ГлавнаяУсловное форматированиеСоздать правило.
    3. Выберите Использовать формулу... и введите:
      =ЕТЕКСТ(A1)
    4. Задайте формат (например, красный текст) и нажмите ОК.

    Теперь все ячейки с текстовыми числами будут подсвечены.