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

Зелёный треугольник в верхнем левом углу ячейки, выравнивание чисел по левому краю вместо правого, ошибки #ЗНАЧ! в формулах — всё это признаки того, что числа в вашей таблице Excel сохранены как текст. Проблема возникает при импорте данных из CSV, копировании из веб-страниц или ручном вводе с ведущими апострофами. Даже если визуально ячейка содержит 2026 или 1500.50, программа воспринимает её как строку "2026", что блокирует математические операции и сортировку.

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

Почему Excel воспринимает числа как текст: 3 главные причины

Перед исправлением стоит понять корень проблемы. Чаще всего текстовый формат появляется из-за:

  • 📥 Импорта из внешних источников: CSV-файлы, базы данных или веб-страницы часто передают числа в текстовом виде, особенно если они содержат ведущие нули (например, "00123") или символы валют ("$100").
  • 🔢 Ручного форматирования: пользователь мог применить к ячейке формат Текстовый до ввода данных или добавить апостроф ('123) для принудительного текстового отображения.
  • 🖱️ Копирования с сохранением формата: при вставке данных через Специальная вставка → Значения иногда "прилипает" исходный текстовый формат.

Проверить текущий формат ячейки просто: выделите её и посмотрите на выпадающий список Числовой формат на вкладке Главная. Если там указано Текстовый, а в строке формул виден апостроф перед числом — диагноз подтверждён.

⚠️ Внимание: Не путайте текстовые числа с числами в кавычках внутри формул. Например, =СУММ("10";"20") вернёт 0, потому что Excel не преобразует строки в числа автоматически. Здесь нужно убрать кавычки вручную.

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

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

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

Метод работает для целых чисел, дробей и отрицательных значений. Однако ведущие нули исчезнут (например, "00123" станет 123). Для сохранения нулей используйте пользовательский формат (раздел 4).

Сделали резервную копию таблицы|Проверяли наличие скрытых символов (пробелов, апострофов)|Убедились, что в диапазоне нет формул|Отменили объединение ячеек (если есть)-->

Способ 2: Функция ЗНАЧЕН для сложных случаев

Когда числа содержат разделители тысяч (например, "1 000 500"), символы валют ("$25.99") или процентные знаки ("15%"), простое умножение не сработает. Здесь поможет функция =ЗНАЧЕН(), которая игнорирует все нечисловые символы и возвращает чистое число.

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

=ЗНАЧЕН(A1)       // Преобразует "1 234,56" в 1234,56

=ЗНАЧЕН(ПОДСТАВИТЬ(A1;"$";"")) // Удаляет знак доллара перед преобразованием

Исходное значение (текст)ФормулаРезультат (число)
"15%"=ЗНАЧЕН(A1)/1000,15
"$ 2,500.00"=ЗНАЧЕН(ПОДСТАВИТЬ(A1;"$ ";""))2500
"1 000 кг"=ЗНАЧЕН(ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1))1000

Ограничение: Функция ЗНАЧЕН не распознаёт числа с буквенными постфиксами (например, "100р" или "50eur"). В таких случаях комбинируйте её с ПОДСТАВИТЬ или ЛЕВСИМВ.

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

Инструмент Текст по столбцам полезен, когда текстовые числа содержат разделители (запятые, точки, пробелы) или нужно разделить составные данные. Например, преобразовать "100 USD" в два столбца: число 100 и валюту USD.

Алгоритм действий:

  1. Выделите диапазон с текстовыми числами.
  2. Перейдите на вкладку Данные → Текст по столбцам.
  3. Выберите С разделителями → Далее.
  4. Укажите разделитель (например, пробел для "100 USD").
  5. На шаге Формат данных столбца выберите Общий или Числовой.
  6. Нажмите Готово.
⚠️ Внимание: Если в исходных данных нет разделителей (например, просто "100"), инструмент Текст по столбцам не поможет — он требует хотя бы одного символа-разделителя. В таких случаях используйте ЗНАЧЕН или умножение на 1.

Способ 4: Пользовательский формат для сохранения ведущих нулей

Если текстовые числа содержат ведущие нули (например, артикулы "0012345" или телефонные коды "04951234567"), простое преобразование в числовой формат их удалит. Чтобы сохранить нули, примените пользовательский формат:

  1. Выделите ячейки с числами.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Перейдите на вкладку Число → (все форматы).
  4. В поле Тип введите маску:
    • Для 5 знаков: 00000
    • Для 10 знаков: 0000000000
    • Для дробных чисел: 000.00
  • Нажмите ОК.
  • Теперь числа будут отображаться с ведущими нулями, но останутся в текстовом формате. Для математических операций их всё равно нужно преобразовать (см. Способ 1 или 2).

    Как вернуть стандартный формат после пользовательского

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

    Способ 5: VBA-макрос для массовой обработки

    Если в таблице тысячи строк с текстовыми числами, ручные методы займут часы. Автоматизируйте процесс с помощью VBA-макроса. Ниже код, который преобразует все текстовые числа в выделенном диапазоне:

    Sub ConvertTextToNumbers()
    

    Dim rng As Range

    Dim cell As Range

    Set rng = Selection

    For Each cell In rng

    If cell.NumberFormat = "@" Then ' Проверяем текстовый формат

    cell.Value = Val(cell.Value) ' Преобразуем в число

    End If

    Next cell

    End Sub

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

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

    Предупреждения:

    • 🔴 Макрос Val обрезает текст после первого нечислового символа. Например, "100 кг" станет 100.
    • 🔴 Для дробных чисел с запятой (европейский формат) замените Val на CDbl(Replace(cell.Value; ","; ".")).

    Умножение на 1|Функция ЗНАЧЕН|Текст по столбцам|Пользовательский формат|VBA-макрос-->

    Типичные ошибки и как их избежать

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

    ОшибкаПричинаРешение
    Числа не меняют выравниваниеЯчейки объединены или защищеныСнимите объединение (Главная → Объединить и поместить в центре) и защиту (Формат → Защита ячейки)
    Появляется #ЗНАЧ! в формулахОстались скрытые символы (пробелы, апострофы)Используйте =ПЕЧСИМВ(A1) или =СЖПРОБЕЛЫ(A1)
    Дробные числа становятся целымиРегиональные настройки (запятая vs точка)Замените разделитель: =ПОДСТАВИТЬ(A1; ","; ".")

    Критическая ошибка: Применение Формат → Преобразовать в число (кнопка с восклицательным знаком) часто не работает, если в ячейке есть невидимые символы (например, символ табуляции или неразрывный пробел). Всегда проверяйте содержимое через =КОДСИМВ(ЛЕВСИМВ(A1)) — если результат не равен 34 (апостроф) или цифре, значит, есть скрытые символы.

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

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

    Да, используйте функцию =ТЕКСТ() с указанием формата. Например, =ТЕКСТ(A1; "00000") преобразует число 123 в текст "00123". Для дробных чисел: =ТЕКСТ(A1; "0.00")"15.50".

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

    Excel автоматически интерпретирует числа вида 01.05 как даты. Чтобы этого избежать:

    1. Примените к ячейкам формат Текстовый до ввода данных.
    2. Или используйте апостроф перед числом: '01.05.
    3. Для массового исправления: =ТЕКСТ(A1; "mm.dd").

    Как преобразовать текстовые числа в столбце, если среди них есть пустые ячейки?

    Используйте формулу с проверкой на пустоту:

    =ЕСЛИ(A1=""; ""; ЗНАЧЕН(A1))

    Или в VBA-модернизируйте макрос из Способа 5, добавив условие:

    If cell.Value <> "" Then cell.Value = Val(cell.Value)

    Почему функция ЗНАЧЕН не работает с числами в экспоненциальной записи (например, "1e+05")?

    Функция ЗНАЧЕН корректно обрабатывает экспоненциальную запись, но проблема может быть в региональных настройках. Если в вашей системе разделителем дробной части является запятая, а в числе используется точка (например, "1.e+05"), замените точку на запятую:

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

    Как преобразовать текстовые числа в другом файле без его открытия?

    Используйте Power Query (Excel 2016+):

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

    Метод позволяет обработать данные без изменения исходного файла.