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

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

Важно понимать, что Excel хранит данные в двух основных форматах: текстовом (включая числа, оформленные как текст) и числовом (для вычислений). Даже если ячейка содержит 123, программа может интерпретировать её как строку "123" — и тогда арифметические операции станут невозможны. Мы научимся не только исправлять это, но и предотвращать автоматически.

Статья будет полезна:

  • 📊 Бухгалтерам и аналитикам, работающим с импортированными отчётами
  • 📈 Маркетологам, обрабатывающим данные из CRM и Google Analytics
  • 💻 Разработчикам, парсящим данные в таблицы
  • 🎓 Студентам, готовящим расчётные работы

1. Быстрое преобразование через маркер заполнения

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

Инструкция:

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

Текстовые числа выровнялись по правому краю|Исчезли апострофы или зелёные треугольники в углу ячеек|Формула =СУММ() теперь работает корректно|Числа отображаются без кавычек в строке формул

-->

⚠️ Внимание: Если в ячейках есть невидимые символы (например, пробелы или неразрывные пробелы), умножение на 1 не сработает. В этом случае используйте функцию ПЕЧСИМВ(), чтобы очистить данные:

=ЗНАЧЕН(ПЕЧСИМВ(A1))

2. Функция ЗНАЧЕН(): универсальный инструмент

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

  • 📌 Дробные числа с запятой или точкой ("12,34" или "12.34")
  • 📌 Даты в текстовом виде ("01.01.2023")
  • 📌 Числа с валютами ("$100" — вернёт 100)
  • 📌 Научную нотацию ("1E+05")

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

=ЗНАЧЕН(A1)
Исходный текст Формула Результат
" 500 " (с пробелами) =ЗНАЧЕН(ПЕЧСИМВ(A1)) 500
"15%" =ЗНАЧЕН(ЛЕВСИМВ(A1;НАЙТИ("%";A1)-1))/100 0,15
"1 000 000" (с разделителями) =ЗНАЧЕН(ПОДСТАВИТЬ(A1;" ":"")) 1000000

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

Маркер заполнения|Функция ЗНАЧЕН()|Текст по столбцам|Формат ячеек|Другое-->

3. Текст по столбцам: для сложных форматов

Если числа смешаны с текстом (например, "Код: 12345" или "100 кг"), используйте инструмент "Текст по столбцам" (Данные → Текст по столбцам). Этот метод позволяет:

  • 🔄 Разделять данные по разделителю (запятая, точка с запятой, пробел)
  • 📏 Фиксировать ширину столбцов для выделения числовых частей
  • 📅 Преобразовывать даты в корректный формат

Пошаговая инструкция для извлечения числа из строки "Артикул A-456 (шт: 12)":

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

Если у вас Excel 365 с функцией ТЕКСТПОСЛЕ(), формула упрощается:

=ЗНАЧЕН(ТЕКСТПОСЛЕ(ТЕКСТПОСЛЕ(A1;"шт: ");" "))

4. Формат ячеек: когда Excel "не видит" числа

Иногда проблема кроется не в данных, а в формате ячейки. Например, если ячейка имеет формат "Текстовый", даже введённое вручную число 100 будет воспринято как текст. Чтобы исправить:

  1. Выделите проблемный диапазон.
  2. Нажмите Ctrl+1 (или правая кнопка → Формат ячеек).
  3. Выберите категорию Числовой, Денежный или Дата.
  4. Укажите количество десятичных знаков при необходимости.

⚠️ Внимание: Если после смены формата числа не изменили выравнивание (остались слева), значит, они по-прежнему хранятся как текст. В этом случае:

1. Дважды кликните по ячейке и нажмите Enter — Excel попытается автоматически преобразовать значение.

2. Если не сработало, используйте ЗНАЧЕН() в соседнем столбце и скопируйте значения обратно (Специальная вставка → Значения).

5. Продвинутые приёмы: формулы для нестандартных случаев

Когда стандартные методы не работают, на помощь приходят комбинированные формулы. Рассмотрим типовые сценарии:

🔹 Числа с постфиксами (например, "100 кг")

=ЗНАЧЕН(ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1))

🔹 Дробные числа с нестандартными разделителями ("12-34")

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

🔹 Числа в экспоненциальной форме ("1.23E+04")

=ЗНАЧЕН(A1)  

🔹 Даты в текстовом виде ("январь 2023")

=ДАТАЗНАЧ(ПОДСТАВИТЬ(A1;"январь";"1");ПОДСТАВИТЬ(A1;"февраль";"2");...)  
Function ConvertToNumber(rng As Range) As Double

ConvertToNumber = Val(rng.Value)

End Function

Теперь в ячейке можно использовать =ConvertToNumber(A1).-->

6. Автоматизация: Power Query для больших данных

Если вы работаете с тысячами строк, ручное преобразование неэффективно. В этом случае используйте Power Query (Данные → Получить данные → Из таблицы/диапазона):

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

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

7. Ошибки и их решения: почему не получается преобразовать

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

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

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

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

PDF часто сохраняет числа как текстовые объекты, добавляя невидимые символы форматирования. Используйте комбинацию =ЗНАЧЕН(ПЕЧСИМВ(A1)) или очищайте данные через Power Query с шагом Очистить → Убрать непечатаемые символы.

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

Используйте формулу:

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

Или в Power Query замените пробелы на пустую строку перед преобразованием в числовой формат.

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

Да, при импорте через Данные → Из текста/CSV на шаге загрузки выберите столбец и укажите тип Числовой. Для повторяющихся импортов сохраните запрос в Power Query — он будет применять ваши настройки автоматически.

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

ЗНАЧЕН() не распознаёт текст после числа. Используйте:

=ЗНАЧЕН(ЛЕВСИМВ(A1;НАЙТИ(" ";A1)-1))

Или для валют с фиксированным форматом:

=ЗНАЧЕН(ПОДСТАВИТЬ(ЛЕВСИМВ(A1;НАЙТИ(" руб";A1)-1);" ";""))

❓ Как преобразовать текстовые даты типа "01 января 2023" в формат даты?

В Excel 365 используйте:

=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";".01.");" ";""))

Для более старых версий создайте таблицу соответствия месяцев и используйте ПОИСКПОЗ():

=ДАТА(ПРАВСИМВ(A1;4);ПОИСКПОЗ(ПСТР(A1;4;6);B2:B13);ЛЕВСИМВ(A1;2))

Где B2:B13 — список месяцев ("января", "февраля" и т.д.).