
Когда числа хранятся в Excel в виде текстовых строк, основные функции вычислений и поиска перестают работать корректно, выдавая неверные результаты. Эта проблема часто возникает при импорте данных из CSV, выгрузке из баз данных, копировании контента из интернета, а также при использовании апострофа перед числом для принудительного текстового формата.
Изменение формата отображения ячейки — это первое, что обычно пробуют сделать, но это редко решает корень проблемы. Чтобы правильно преобразовать текст в числа в Excel, необходимо заставить программу переоценить содержимое как истинное числовое значение, а не просто изменить его внешний вид.
В этом руководстве мы покажем, как изменить текст на числа в Excel с помощью 7 проверенных методов: от быстрых решений в один клик до полностью автоматизированных пакетных процессов. Каждый метод включает пошаговые инструкции, примеры использования и практические ограничения, чтобы вы могли уверенно выбрать подходящий подход в зависимости от объема ваших данных и рабочего процесса.
Как определить числа, сохраненные как текст
Обратите внимание на три явных признака того, что Excel воспринимает ваши числа как текст:
- Выравнивание по левому краю: По умолчанию числа обычно выравниваются по правому краю. Если они выровнены по левому — это тревожный сигнал.
- Зеленый треугольник: В левом верхнем углу ячейки появляется маленький зеленый треугольник.
- Формулы не работают: Такие функции, как СУММ, СРЗНАЧ и СЧЁТ, игнорируют текстовые значения, выдавая неверные результаты.
Пример:

Справочная таблица: какой метод выбрать?
Используйте эту матрицу решений, чтобы сразу перейти к лучшему способу для вашей ситуации:
| Метод | Лучше всего подходит для | Скорость |
|---|---|---|
| 1. Раскрывающийся список проверки ошибок | Небольших диапазонов с видимыми зелеными треугольниками | ★★★★★ |
| 2. Текст по столбцам | Целых столбцов или средних/больших наборов данных | ★★★★★ |
| 3. Изменение формата ячеек | Случаев, когда формат был вручную задан как «Текстовый» | ★★★★ |
| 4. Формула ЗНАЧЕН (VALUE) | Сохранения исходных данных для аудита, использования в других формулах | ★★★ |
| 5. Специальная вставка (умножение на 1) | Быстрых исправлений без создания дополнительных столбцов | ★★★★ |
| 6. VBA-макрос | Ежедневных, еженедельных или повторяющихся задач на нескольких листах/книгах | ★★★ |
| 7. Python + Free Spire.XLS | Пакетной обработки множества файлов или серверной автоматизации без установки Excel | ★★★★★ (скорость скрипта) |
Метод 1: Использование раскрывающегося списка проверки ошибок
Это самый быстрый способ преобразовать текст в числа в Excel, если вы видите маленькие зеленые треугольники (встроенный индикатор ошибок Excel). Это работает как «исправление в один клик» для помеченных ячеек.
- Выделите все ячейки с зеленым индикатором ошибки.
- Нажмите на значок желтого восклицательного знака, который появится рядом с выделением.
- Выберите «Преобразовать в число» в выпадающем меню.

⚠️ Устранение неполадок: Если вы не видите зеленый треугольник, возможно, функция проверки ошибок отключена. Чтобы включить её: перейдите в «Файл» > «Параметры» > «Формулы» и в разделе «Проверка ошибок» убедитесь, что установлен флажок «Включить фоновую проверку ошибок».
Метод 2: Использование функции «Текст по столбцам»
«Текст по столбцам» — один из самых надежных и часто используемых методов среди профессионалов Excel. Он работает даже с ячейками, содержащими начальные апострофы (') или лишние пробелы. Это принудительное преобразование типа данных на бинарном уровне.
- Выделите весь столбец или диапазон, содержащий числа в текстовом формате.
- Перейдите на вкладку Данные и нажмите «Текст по столбцам».
- На шаге 1 мастера выберите «с разделителями» и нажмите Далее.
- На шаге 2 снимите все флажки с разделителей (табуляция, запятая, пробел и т.д.) и нажмите Далее.
- На шаге 3 в разделе «Формат данных столбца» выберите «Общий».
- Нажмите Готово. Ваш текст мгновенно преобразуется в стандартный числовой формат.

Если вам нужно сохранить ведущие нули в почтовых индексах, идентификаторах или кодах товаров, вы можете преобразовать числа обратно в текст.
Метод 3: Изменение формата ячеек на «Общий» или «Числовой»
Иногда простого изменения формата ячейки достаточно, но у этого метода есть важные ограничения. Он работает только в том случае, если ячейки были отформатированы как «Текстовые» до ввода данных.
- Выберите ячейки с числами в текстовом формате.
- Нажмите правой кнопкой мыши и выберите «Формат ячеек».
- В появившемся окне выберите вкладку «Число» или «Общий».

Альтернативно можно перейти в группу «Число» на вкладке «Главная» и выбрать нужный вариант из выпадающего списка.
❌ Важное ограничение: Изменение формата ячейки обновляет только настройки отображения, а не содержимое ячейки. Если значения были введены как текст, вам придется дважды щелкнуть каждую ячейку и нажать «Enter», чтобы активировать изменение, что непрактично для больших наборов данных.
Метод 4: Использование функции ЗНАЧЕН (VALUE)
Если вы хотите сохранить исходные текстовые данные и создать отдельный столбец с преобразованными числами, функция ЗНАЧЕН — ваш лучший выбор. Она также полезна для динамических наборов данных, которые регулярно обновляются.
- Синтаксис: =ЗНАЧЕН(текст)
- Пример: Если текстовое число находится в ячейке D2, используйте =ЗНАЧЕН(D2)

Шаги по использованию формулы:
- В пустой ячейке рядом с первой текстовой записью введите формулу ЗНАЧЕН, ссылающуюся на текстовую ячейку.
- Нажмите Enter, чтобы получить преобразованное число.
- Протяните маркер автозаполнения вниз, чтобы применить формулу ко всем строкам.
Альтернативные формулы:
- Для значений с лишними пробелами в начале или конце объедините с функцией СЖПРОБЕЛЫ: =ЗНАЧЕН(СЖПРОБЕЛЫ(D2))
- Для продвинутых пользователей: используйте двойное отрицание: =--D2, что дает тот же результат для «чистых» текстовых чисел.
Метод 5: Специальная вставка — умножение на 1
Умножение текстовых чисел на 1 заставляет вычислительный движок Excel воспринимать содержимое ячейки как математическое выражение. Это остроумный трюк без формул, который удаляет начальные апострофы за один шаг.
- Введите число 1 в любую пустую ячейку и скопируйте его (Ctrl+C).
- Выделите все ячейки с текстовыми числами, которые нужно преобразовать.
- Нажмите правой кнопкой мыши на выделение и выберите «Специальная вставка».
- В разделе Операция выберите «Умножить» и нажмите ОК.
После завершения преобразования ячейку с числом 1 можно удалить.

✅ Альтернативный трюк с нулем: Вместо умножения на 1 можно скопировать пустую ячейку, использовать Специальную вставку и выбрать «Сложить». Это принудительно пересчитает ячейки, не меняя их числового значения.
После того как вы преобразовали текстовые значения в правильные числа, вы можете объединить этот рабочий процесс с функцией удаления дубликатов в Excel, чтобы очистить данные на следующем этапе вашего конвейера обработки.
Метод 6: VBA-макрос для преобразования текста в число
Если вам часто приходится преобразовывать текст в числа на нескольких листах или книгах, VBA-макрос обеспечит автоматизацию в один клик, которую можно назначить на кнопку для быстрого доступа.
Пример кода VBA:
Sub ConvertTextToNumber()
Dim cell As Range
Dim processedCount As Long
Dim selectedRange As Range
' Убедитесь, что диапазон выделен
If TypeName(Selection) <> "Range" Then
MsgBox "Пожалуйста, сначала выделите диапазон.", vbExclamation
Exit Sub
End If
' Цикл только по пересечению выделения и используемого диапазона
Set selectedRange = Intersect(Selection, ActiveSheet.UsedRange)
If selectedRange Is Nothing Then
MsgBox "В выделенном диапазоне нет данных.", vbInformation
Exit Sub
End If
' Отключение обновления экрана и автовычислений
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
On Error Resume Next
For Each cell In selectedRange
If Not IsError(cell.Value) Then
If IsNumeric(cell.Value) And Len(cell.Value) > 0 Then
If Not IsDate(cell.Value) Then
cell.Value = CDbl(cell.Value)
processedCount = processedCount + 1
End If
End If
End If
Next cell
On Error GoTo 0
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
MsgBox "Преобразование завершено. Ячеек преобразовано: " & processedCount, vbInformation
End Sub
Как использовать:
- Откройте файл Excel и нажмите Alt + F11 для запуска редактора VBA.
- Перейдите в Insert > Module, чтобы создать новый модуль.
- Вставьте приведенный выше код в окно модуля.
- Вернитесь в Excel, выделите диапазон и нажмите Alt + F8.
- Выберите ConvertTextToNumber из списка и нажмите Выполнить.

Совет: Чтобы сэкономить еще больше времени, назначьте макрос на панель быстрого доступа (QAT), чтобы запускать его одним нажатием.
Метод 7: Программное преобразование с помощью Python
Если вы управляете ETL-конвейером, обрабатываете десятки файлов Excel на сервере или работаете в среде, где Microsoft Excel не установлен, Python — идеальное решение. Библиотека Free Spire.XLS легкая и специально разработана для манипуляций с файлами Excel без зависимостей от Microsoft Interop.
Вот полный код для преобразования определенного диапазона в существующей книге:
from spire.xls import *
from spire.xls.common import *
# Создание объекта Workbook
workbook = Workbook()
# Загрузка документа Excel
workbook.LoadFromFile("Input.xlsx")
# Получение первого листа
worksheet = workbook.Worksheets[0]
# Получение диапазона ячеек
range = worksheet.Range["D2:D7"]
# Преобразование текста в число
range.ConvertToNumber()
# Сохранение книги
workbook.SaveToFile("TextToNumbers.xlsx", ExcelVersion.Version2016)
# Освобождение ресурсов
workbook.Dispose()
Что делает код:
- Загружает существующий файл Excel.
- Выбирает первый рабочий лист.
- Указывает диапазон (D2:D7 в этом примере) и вызывает .ConvertToNumber().
- Сохраняет результат как новый файл.
Совет: После преобразования текста в числа вы можете применить единообразный числовой формат (например, денежный, с фиксированными десятичными знаками или процентный) с помощью той же библиотеки Python, чтобы завершить полный цикл очистки данных в одном скрипте.
Заключение
Знание того, как изменить текст на числа в Excel, — это фундаментальный навык очистки данных, который сэкономит вам часы разочарований. Быстрые исправления, такие как выпадающий список ошибок или специальная вставка, подходят для небольших наборов данных. «Текст по столбцам» — самый надежный вариант для преобразования целых столбцов, а функция ЗНАЧЕН позволяет сохранить исходные данные.
Если вы регулярно обрабатываете данные на нескольких листах или книгах, создание автоматизированного решения с помощью VBA-макроса или Python-скрипта избавит вас от повторяющейся ручной работы и обеспечит стабильные результаты в масштабе.
В следующий раз, когда ваши формулы перестанут работать из-за того, что числа сохранены как текст, попробуйте один из этих методов и вернитесь к анализу данных быстрее.
Часто задаваемые вопросы (FAQ)
В: Почему Excel не преобразует мой текст в число даже после изменения формата ячейки?
Изменение формата ячейки с «Текстового» на «Числовой» обновляет только настройки отображения, а не содержимое. Если данные были введены как текст, Excel будет воспринимать их как текст, пока вы не принудите его к переоценке. Используйте «Текст по столбцам», «Специальную вставку» или функцию ЗНАЧЕН, чтобы преобразовать именно содержимое.
В: Как преобразовать всю книгу сразу?
Для разовой ручной операции вам придется повторять метод «Текст по столбцам» или «Специальную вставку» для каждого листа. Однако, если вам нужно делать это регулярно:
- VBA: Измените приведенный выше макрос, добавив цикл по всем листам с помощью For Each ws In ThisWorkbook.Worksheets.
- Python: Перебирайте все листы в книге (например, for worksheet in workbook.Worksheets:), чтобы автоматически применить преобразование к каждому листу.
В: Как преобразовать текст в числа в Google Таблицах?
Принципы похожи, но есть отличия:
- Быстрое исправление: Выделите диапазон, нажмите меню «Формат» > «Число» > «Обычный».
- Формула: =ЗНАЧЕН(A1) работает идентично.
- Специальная вставка: Скопируйте ячейку с числом 0, выделите диапазон, нажмите правой кнопкой мыши > «Специальная вставка» > «Специальная вставка» > выберите «Сложить» и нажмите «Вставить».
В: Удалит ли преобразование в число мои ведущие нули (например, 00123)?
Да. Числа не хранят ведущие нули, поэтому 00123 превратится в 123. Если вам нужны эти нули (для почтовых индексов или ID), оставьте столбец в текстовом формате. Если вы уже преобразовали их, вы можете переформатировать ячейки с помощью пользовательского формата, например 00000, чтобы нули снова отобразились.
Смотрите также
- Автоформатирование в Excel: ячейки, таблицы и макеты
- Как заблокировать ячейки в Excel: руководство по ручной и Python-автоматизации
- Как отменить объединение ячеек в Excel (вручную, VBA и Python)
- Python: Преобразование текста в числа и чисел в текст в Excel
- C#: Преобразование текста в числа и чисел в текст