Как в Excel сделать текстовые цифры числовыми: 5 проверенных способов + ошибки

Вы скачали данные из , импортировали отчёт из Google Analytics или получили таблицу от коллеги — и вместо привычных чисел видите текстовые значения с зелёными треугольниками в углу ячеек? Excel часто воспринимает цифры как текст, если они импортированы из внешних источников или введены с апострофом. Это мешает сортировке, фильтрации и вычислениям: формулы типа СУММ игнорируют такие "числа", а графики их не распознают.

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

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

Причины преобразования чисел в текстовый формат делятся на две группы: внешние (связанные с источником данных) и внутренние (действия пользователя в Excel). Распространённые сценарии:

  • 📥 Импорт из CSV/ТXT — если в файле числа заключены в кавычки или разделитель десятичных знаков не совпадает с региональными настройками Windows.
  • 🔄 Копирование из веб-страниц — HTML-код часто добавляет невидимые символы (например,  ), которые Excel интерпретирует как текст.
  • 📊 Экспорт из баз данныхSQL, или SAP могут передавать числа в строковом формате для сохранения ведущих нулей.
  • ⌨️ Ручной ввод с апострофом — если пользователь начал ячейку с ' (например, '123), Excel forcedly сохраняет значение как текст.

Чтобы диагностировать проблему, обратите внимание на выравнивание в ячейке: текстовые значения по умолчанию прижимаются к левому краю, а числа — к правому. Также проверьте маркер ошибки (зелёный треугольник в верхнем левом углу ячейки) — при наведении на него Excel покажет подсказку "Число сохранено как текст".

📊 Как часто вы сталкиваетесь с текстовыми числами в Excel?
Ежедневно
Раз в неделю
Редко
Никогда

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

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

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

⚠️ Внимание: Если в ячейках были ведущие нули (например, 00123), они будут утеряны. Чтобы сохранить их, перед преобразованием примените к диапазону текстовый формат (ГлавнаяЧисловой формат"Текстовый").

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

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

Функция =ЗНАЧЕН(текст) (или =VALUE(text) в английской версии) — самый надёжный способ для формульной конвертации. Она игнорирует невидимые символы и корректно обрабатывает дробные числа с запятыми/точками. Примеры:

Исходное значение (текст)ФормулаРезультат (число)
'123,45=ЗНАЧЕН(A1)123.45
"500" (с кавычками)=ЗНАЧЕН(A2)500
1 000 (с пробелом)=ЗНАЧЕН(ПОДСТАВИТЬ(A3;" ";""))1000
N/A=ЕСЛИОШИБКА(ЗНАЧЕН(A4);0)0

После применения функции скопируйте результаты и вставьте их поверх исходных данных через Специальная вставкаЗначения. Это удалит формулы, оставив только числовые значения.

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

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

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

⚠️ Внимание: Этот метод не работает, если в ячейках есть нечисловые символы (например, 100 руб или 50%). В таких случаях предварительно очистите данные с помощью ПОДСТАВИТЬ или регулярных выражений (в Power Query).

Почему умножение на 1 работает?

Excel хранит текстовые числа как строки, но при математических операциях автоматически пытается привести их к числовому типу. Умножение на 1 — это "обман" системы: операция не меняет значение, но вынуждает Excel переопределить формат данных. Аналогично работают сложение с 0 или деление на 1.

Способ 4: Power Query (для сложных случаев)

Если данные импортированы из внешнего источника и содержат неоднородные форматы (например, смесь чисел с валютами, процентами и обычными значениями), используйте Power Query (ДанныеПолучить данные). Преимущества этого метода:

  • 🔍 Автоматическое обнаружение и исправление ошибок формата.
  • 📊 Сохранение истории преобразований (можно обновить данныеlater).
  • 🛠️ Поддержка регулярных выражений для сложной очистки.

Инструкция:

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

Power Query сохраняет все шаги преобразования, поэтому при обновлении исходных данных (например, из SQL или CSV) формат чисел будет автоматически исправлен.

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

Если вам регулярно приходится обрабатывать текстовые числа, создайте пользовательскую функцию VBA. Она пригодится, например, для обработки данных из SAP, где числа часто приходят в формате "1.234,56" (европейский стандарт). Код для вставки в редактор VBA (Alt+F11):

Function TextToNumber(rng As Range) As Double

Dim str As String

str = rng.Value

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

str = Replace(str, ",", ".")

' Удаление всех нечисловых символов (кроме "-", "." и "E" для научной нотации)

str = Application.WorksheetFunction.Trim(str)

Dim i As Integer

For i = 1 To Len(str)

If Not (Mid(str, i, 1) Like "#" Or Mid(str, i, 1) = "-" Or _

Mid(str, i, 1) = "." Or Mid(str, i, 1) = "E") Then

str = Replace(str, Mid(str, i, 1), "")

End If

Next i

If IsNumeric(str) Then

TextToNumber = CDbl(str)

Else

TextToNumber = 0 ' или CVErr(xlErrValue) для ошибки

End If

End Function

Теперь в любой ячейке можно использовать формулу =TextToNumber(A1). Функция автоматически:

  • Заменяет запятые на точки.
  • Удаляет пробелы и нечисловые символы (например, "$100"100).
  • Возвращает 0 для некорректных данных (можно изменить на ошибку).

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

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

ОшибкаПричинаРешение
Числа отображаются как ##### Столбец слишком узкий или отрицательная дата Расширьте столбец или проверьте формат ячейки (Числовой вместо Дата)
Дробные числа округлены Формат ячейки установлен как "Целое" Измените формат на "Числовой" с нужным количеством десятичных знаков
Формулы возвращают #ЗНАЧ! Остались невидимые символы (например, CHAR(160) — неразрывный пробел) Используйте =ПОДСТАВИТЬ(A1;СИМВОЛ(160);"")
Ведущие нули пропадают Excel автоматически удаляет нули в числовом формате Примените Текстовый формат до преобразования или используйте апостроф ('00123)

⚠️ Внимание: Если вы работаете с данными из бухгалтерских систем (например, ), где числа могут содержать разделители тысяч (пробелы или точки), всегда проверяйте результат преобразования. Например, 1 000 после автоматической конвертации станет 1, а не 1000. В таких случаях предварительно используйте =ПОДСТАВИТЬ(A1;" ";"").

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

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

Нет, если вы конвертируете их в числовой формат. Числа в Excel не могут начинаться с нуля (кроме дробных знаков, например, 0.5). Решения:

  • Сохраните данные в текстовом формате и используйте апостроф ('00123).
  • Добавьте ведущие нули через формулу: =ТЕКСТ(A1;"00000") (где 00000 — маска с нужным количеством нулей).
Почему после преобразования числа отображаются в экспоненциальном формате (например, 1.23E+10)?

Excel автоматически переводит большие числа (>11 знаков) в научную нотацию. Чтобы вернуть обычный вид:

  1. Выделите ячейки → правая кнопка → Формат ячеек.
  2. Выберите "Числовой" и установите Число десятичных знаков: 0.

Если число превышает 15 знаков, Excel округлит его. В таких случаях храните данные как текст или используйте Power Query.

Как преобразовать текстовые числа в даты (например, "31.12.2023")?

Используйте функцию =ДАТАЗНАЧ(A1) (или =DATEVALUE(A1) в английской версии). Учтите:

  • Формат исходных данных должен соответствовать региональным настройкам Excel (например, для России — ДД.ММ.ГГГГ).
  • Если дата в формате ММ/ДД/ГГГГ (американский стандарт), предварительно замените "/" на "." через ПОДСТАВИТЬ.
Можно ли автоматизировать преобразование для новых данных?

Да, с помощью Power Query или макросов VBA. Например, в Power Query:

  1. Создайте запрос к источнику данных.
  2. Добавьте шаг преобразования типа данных для нужного столбца.
  3. Настройте автоматическое обновление (ДанныеОбновить все).

Для VBA напишите обработчик события Worksheet_Change, который будет проверять введённые данные и конвертировать их при необходимости.

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

Программы для чтения PDF (например, Adobe Acrobat) часто добавляют невидимые символы форматирования. Решения:

  • Вставляйте данные через Специальная вставкаТекст.
  • Используйте =ЗНАЧЕН(ПОДСТАВИТЬ(A1;СИМВОЛ(160);"")) для удаления неразрывных пробелов.
  • Экспортируйте данные из PDF в CSV и импортируйте через Power Query.