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

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

Вы скачали данные из , импортировали CSV-файл или скопировали таблицу с сайта, но вместо чисел в ячейках отображаются странные символы: апострофы, кавычки или зелёные треугольники в углу? Это классическая проблема, когда Excel воспринимает числовые значения как текст. Причины могут быть разные: от неверного формата при импорте до скрытых непечатаемых символов, которые «портит» данные.

Чаще всего пользователи сталкиваются с этой проблемой при работе с:

  • 📊 Данными, экспортированными из бухгалтерских программ (, МойСклад)
  • 📄 CSV/ТXT-файлами с разделителями (особенно если они созданы в MacOS или Linux)
  • 🌐 Таблицами, скопированными с веб-сайтов или из Google Sheets
  • 📥 Файлами, полученными по электронной почте в формате .xls (старые версии Excel)

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

📊 С какой программой чаще всего работаете в Excel?
Google Sheets
Собственные CSV-файлы
Другие бухпрограммы
Сайты и веб-формы

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

Это универсальный метод, который работает даже с самыми «упрямыми» текстовыми данными. Подходит для случаев, когда числа хранятся как текст с апострофами, пробелами или невидимыми символами.

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

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

Этот метод удаляет все невидимые символы (включая апострофы) и принудительно конвертирует данные в числовой формат. Преимущество: работает даже если в ячейке есть лишние пробелы или табуляции.

Убедитесь, что в выделенном диапазоне нет пустых строк

Проверьте, нет ли в данных символов валют (₽, $, €) — их лучше удалить заранее

Сохраните резервную копию файла на случай ошибки

Отключите объединение ячеек (если оно есть)

-->

⚠️ Внимание: Если после преобразования числа отображаются в экспоненциальном формате (например, 1.23E+10), увеличьте ширину столбца или измените формат ячейки на Числовой с нужным количеством десятичных знаков.

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

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

  • 💰 Числа с символами валют ("1000 $"1000)
  • 📅 Даты в текстовом формате ("01.01.2023"45266 — внутренний формат даты Excel)
  • 📏 Числа с разделителями тысяч ("1 000 000"1000000)

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

=ЗНАЧЕН(A1)

Если нужно преобразовать целый столбец, протяните формулу вниз, затем скопируйте полученные значения (Ctrl+C) и вставьте их поверх исходных данных через Специальная вставка → Значения.

Исходный текст в A1 Формула Результат Примечание
"123,45" =ЗНАЧЕН(A1) 123,45 Работает с запятой как разделителем
"$1 000" =ЗНАЧЕН(ПОДСТАВИТЬ(A1;"$";"")) 1000 Требуется предварительная очистка от символов
"1.23E+02" =ЗНАЧЕН(A1) 123 Преобразует экспоненциальную запись

Важно: Функция ЗНАЧЕН() не работает с текстом, содержащим буквы или спецсимволы (например, "100kg" или "50%"). В таких случаях используйте комбинацию с ПОДСТАВИТЬ() или ЛЕВСИМВ()/ПРАВСИМВ().

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

Это «folk hack», который знают опытные пользователи Excel. Суть метода: любая математическая операция с текстом, который можно интерпретировать как число, автоматически преобразует его в числовой формат.

Как применять:

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

Альтернативный вариант — использовать формулу:

=A1*1

Этот метод работает в 90% случаев, но имеет ограничения:

  • ❌ Не сработает, если в тексте есть нечисловые символы (например, "100 руб")
  • ❌ Может округлить числа, если в ячейке хранится текст с большим количеством знаков после запятой
  • ✅ Идеален для чисел, хранящихся с апострофом ('123)

Способ 4: Очистка данных с помощью Power Query

Если вы работаете с большими объёмами данных (тысячи строк), ручная конвертация неэффективна. В этом случае поможет инструмент Power Query (доступен в Excel 2016 и новее).

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

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

Преимущества Power Query:

  • 🔄 Автоматически обновляет данные при изменении источника
  • 🧹 Очищает не только числа, но и даты, время, текст
  • 📊 Сохраняет связь с исходными данными (можно обновить одним кликом)
⚠️ Внимание: Power Query может неправильно интерпретировать числа с разделителями тысяч (например, "1 000" преобразуется в 1). Перед конвертацией замените пробелы на пустую строку или используйте формулу =ПОДСТАВИТЬ(A1;" ";"").
Что делать если Power Query не виден в Excel?

Если у вас Excel 2013 или старше, Power Query может быть отключён. Чтобы его активировать:

1. Перейдите в Файл → Параметры → Надстройки.

2. Внизу окна в разделе Управление выберите Надстройки COMПерейти.

3. Поставьте галочку напротив Microsoft Power Query for Excel и нажмите ОК.

Если надстройки нет в списке, скачайте её с официального сайта Microsoft (бесплатно для лицензионных версий Excel).

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

Если вам регулярно приходится преобразовывать текст в числа, автоматизируйте процесс с помощью VBA-макроса. Этот метод подходит для продвинутых пользователей, но даёт максимальную гибкость.

Пример макроса, который конвертирует все выделенные ячейки:

Sub ConvertTextToNumbers()

Dim rng As Range

Dim cell As Range

On Error Resume Next

Set rng = Selection.SpecialCells(xlCellTypeConstants, xlTextValues)

On Error GoTo 0

If Not rng Is Nothing Then

Application.ScreenUpdating = False

For Each cell In rng

If IsNumeric(cell.Value) Then

cell.Value = CDbl(cell.Value)

End If

Next cell

Application.ScreenUpdating = True

End If

End Sub

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

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

Макрос проверяет каждую ячейку на возможность преобразования в число (IsNumeric) и применяет функцию CDbl (преобразование в тип Double). Это гарантирует, что:

  • ✅ Числа с десятичными разделителями будут корректно обработаны
  • ✅ Текстовые значения (например, "Н/Д") останутся без изменений
  • ✅ Производительность выше, чем при ручной обработке

Типичные ошибки и их решения

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

Ошибка Причина Решение
###### Столбец слишком узкий или отрицательная дата Увеличьте ширину столбца или проверьте формат ячейки
#ЗНАЧ! в функции ЗНАЧЕН() В тексте есть нечисловые символы (буквы, %) Очистите данные с помощью ПОДСТАВИТЬ() или ЛЕВСИМВ()
Числа отображаются как даты (например, 12-мая) Excel интерпретирует текст как дату Перед конвертацией установите формат ячейки Текстовый, затем верните Общий
Потеря точности (например, 12345678901234561.23E+15) Excel округляет числа больше 15 знаков Храните такие числа как текст или используйте Power Query с типом Decimal

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

  • 🔍 Локальные настройки Windows: Excel использует системные разделители (запятая/точка). Если в данных разделитель не совпадает с настройками системы, конвертация не пройдёт. Проверьте в Панель управления → Региональные стандарты.
  • 📏 Скрытые символы: Нажмите Ctrl+H (замена) и попробуйте заменить неразрывный пробел (Alt+0160) на обычный.
  • 🖥️ Версию Excel: В Excel Online и Mac-версии некоторые методы (например, Текст по столбцам) работают иначе.

FAQ: Частые вопросы по конвертации текста в числа

Почему после преобразования числа отображаются с экспонентой (например, 1E+10)?

Это научный формат Excel для очень больших или очень маленьких чисел. Чтобы вернуть нормальный вид:

  1. Выделите ячейки.
  2. Нажмите Ctrl+1 (формат ячеек).
  3. Выберите категорию Числовой и установите Число десятичных знаков: 0.

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

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

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

=ДАТАЗНАЧ(A1)

Если дата на русском языке (с месяцем прописью), предварительно замените название месяца на число с помощью ПОДСТАВИТЬ() или ВПР().

Пример для даты "01 января 2023":

=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"января";"/1/");" ";""))
Можно ли автоматически конвертировать числа при импорте CSV?

Да, при импорте CSV через Данные → Из текста/CSV (Excel 2016+) вы можете:

  1. В окне предварительного просмотра выбрать столбец с числами.
  2. В выпадающем списке Преобразовать указать Число или Десятичное число.
  3. Нажать Загрузить.

Если импортируете через Текст по столбцам, на последнем шаге мастера выберите формат Общий или Числовой.

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

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

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

Или используйте ПСТР() для извлечения чисел:

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

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

Как конвертировать числа, хранящиеся как текст, в Google Sheets?

В Google Sheets работают те же принципы, но есть нюансы:

  • 🔹 Функция =VALUE() (аналог ЗНАЧЕН()) поддерживает больше форматов.
  • 🔹 Для массовой конвертации используйте Формат → Числа → Автоматический.
  • 🔹 В Google Sheets нет Текст по столбцам, но есть Данные → Разбить текст на столбцы.

Уникальный метод для Google Sheets:

=ARRAYFORMULA(IFERROR(VALUE(A1:A100)))

Эта формула обработает весь диапазон A1:A100, игнорируя ошибки.