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

Почему Excel иногда «упрямится» и не хочет показывать числа как текст?

Вы когда-нибудь сталкивались с ситуацией, когда вводите в ячейку 00123, а Excel упорно сокращает его до 123? Или когда нужно отобразить число 1500 как "Тысяча пятьсот рублей", но программа воспринимает это только как математическую величину? Это классическая проблема несоответствия форматов данных — Excel по умолчанию интерпретирует введённые значения как числа, даты или формулы, игнорируя текстовый контекст.

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

  • 🔹 Сохранить ведущие нули в артикулах или номерах документов
  • 🔹 Преобразовать числовые коды в текстовые эквиваленты (например, 1"Один")
  • 🔹 Использовать Power Query для пакетной обработки тысяч строк
  • 🔹 Автоматизировать процесс с помощью VBA-макросов

Особое внимание уделим скрытым ловушкам: почему функция ТЕКСТ() иногда возвращает ошибку #ЗНАЧ!, как обойти ограничения формата ячеек и что делать, если после преобразования числа всё равно отображаются как даты. Все примеры протестированы в Excel 2016–2023 и Microsoft 365.

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

Способ 1: Ручное изменение формата ячейки — когда достаточно одного клика

Самый быстрый метод, если нужно отобразить число как есть (например, сохранить ведущие нули в номере телефона или артикуле). Подходит для разовых задач с небольшим объёмом данных.

Алгоритм:

  1. Выделите ячейку или диапазон (например, A1:A10).
  2. Нажмите правой кнопкой мыши → Формат ячеек (или комбинацию Ctrl+1).
  3. В открывшемся окне выберите категорию ТекстовыйОК.

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

Выделить целевой диапазон|Проверить текущий формат (числовой/дата)|Применить текстовый формат|Для существующих данных добавить апостроф

-->

Исходное значение Формат ячейки Результат отображения
00123 Общий 123
00123 Текстовый 00123
'00123 Любой 00123
15.03.2026 Текстовый 45357 (даты хранятся как числа!)

💡 Лайфхак: Чтобы быстро применить текстовый формат ко всему столбцу, выделите его заголовок (например, A) и используйте горячие клавиши Ctrl+Shift+1 (в некоторых версиях Excel).

Способ 2: Функция ТЕКСТ() — гибкое форматирование с сохранением числового значения

Функция =ТЕКСТ(значение; формат) позволяет преобразовать число в текст с заданным форматом, не меняя исходное значение. Это единственный способ отобразить, например, число 1500 как "1 500,00 р." без потери возможности использовать его в дальнейших вычислениях.

Синтаксис:

=ТЕКСТ(A1; "0,00 р.")  → преобразует 1500 в "1 500,00 р."

=ТЕКСТ(A1; "дд.мм.гггг") → преобразует 45357 в "15.03.2026"

📌 Примеры популярных форматов:

  • 💰 "# ##0,00 $""1 500,00 $"
  • 📅 "дд ммм гг""15 мар 24"
  • 📊 "0.0%""150.0%" (умножает на 100)
  • 🔢 "00000""01500" (добавляет ведущие нули)

⚠️ Внимание: Функция ТЕКСТ() возвращает текстовое представление, которое нельзя использовать в математических операциях. Например, =ТЕКСТ(5; "0") + 10 вернёт ошибку #ЗНАЧ!, а не 15.

Почему ТЕКСТ() иногда возвращает ######?

Если столбец слишком узкий для отображения форматированного текста, Excel показывает ######. Растяните столбец или уменьшите количество символов в формате (например, замените "дддд, дд мммм гггг" на "дд.мм.гг").

Способ 3: Прописью — как превратить 1500 в «Одна тысяча пятьсот»

Если вам нужно преобразовать число в его текстовый эквивалент на русском языке (например, для договоров или квитанций), стандартных функций Excel недостаточно. Здесь помогут:

  1. Надстройка «Прописью» (бесплатная, устанавливается через Файл → Параметры → Надстройки → Перейти). После установки появится функция =Пропись(A1).
  2. VBA-скрипт (для продвинутых пользователей). Пример кода:
Function Прописью(Число As Double) As String

' Код функции (полный вариант см. в документации Microsoft)

' ...

End Function

📌 Нюансы:

  • 💵 Надстройка поддерживает рубли, доллары и евро (например, =Пропись(A1; "рубль")).
  • 🔢 Максимальное число для преобразования — 999 999 999 999,99.
  • ⚠️ Дробные числа преобразуются в копейки/центы (например, 1500.50"Одна тысяча пятьсот рублей пятьдесят копеек").

🔍 Альтернатива: Если надстройка не подходит, используйте онлайн-сервисы (например, num2word.ru) и импортируйте результат в Excel через Данные → Из текста.

Способ 4: Power Query — пакетная обработка тысяч строк без формул

Power Query (доступен в Excel 2016+ и Microsoft 365) — это инструмент для импорта, преобразования и очистки данных. Он идеален, если нужно преобразовать числа в текст в большом файле (например, в отчёте с 50 000 строк).

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

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

Преимущества метода:

  • 🔄 Обрабатывает миллионы строк без замедления.
  • 🔄 Сохраняет связь с исходными данными (обновляется при изменении источника).
  • 🔄 Позволяет комбинировать с другими преобразованиями (например, разделить текст по разделителю).

⚠️ Внимание: После преобразования в Power Query числа становятся неизменяемыми текстами. Если потом потребуется вернуть их в числовой формат, используйте функцию =ЗНАЧЕН().

Способ 5: VBA-макросы — автоматизация для повторяющихся задач

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

  • 🔄 Преобразует все числа в выделенном диапазоне в текст.
  • 🔄 Добавляет префиксы/суффиксы (например, "Артикул: " перед каждым числом).
  • 🔄 Округляет числа до заданного знака и конвертирует в текст.

Пример макроса для преобразования чисел в текст с сохранением форматирования:

Sub ConvertNumbersToText()

Dim rng As Range

For Each rng In Selection

If IsNumeric(rng.Value) Then

rng.NumberFormat = "@" ' Текстовый формат

rng.Value = CStr(rng.Value) ' Преобразование в строку

End If

Next rng

End Sub

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

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

⚠️ Внимание: Макросы отключают автоматическое обновление связей в ячейках. Если после преобразования вы измените исходное число, текстовое представление не обновится.

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

Даже опытные пользователи Excel сталкиваются с проблемами при преобразовании чисел в текст. Вот TOP-5 ошибок и их решения:

Ошибка Причина Решение
#ЗНАЧ! в функции ТЕКСТ() Ячейка содержит текст, а не число Используйте =ЗНАЧЕН() для предварительного преобразования
Даты отображаются как числа (например, 45357) Excel хранит даты как количество дней с 1900 года Примените формат дд.мм.гггг или используйте =ТЕКСТ(A1; "дд.мм.гггг")
Ведущие нули исчезают после сохранения файла Файл сохранён в формате .csv, который не поддерживает текстовый формат Сохраняйте в .xlsx или предварительно добавьте апостроф (')
Макрос не работает на некоторых числах Числа хранятся как текст изначально Добавьте проверку If IsNumeric(rng.Value) в код
Функция Прописью выдаёт #ИМЯ? Не установлена надстройка или опечатка в названии Проверьте регистр и наличие надстройки в Параметры → Надстройки

💡 Совет для перфекционистов: Если вам нужно, чтобы числа отображались как текст, но при этом участвовали в вычислениях, создайте дополнительный столбец с формулой =ТЕКСТ() и скрывайте его при печати. Так вы сохраните оба формата.

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

Можно ли преобразовать текст обратно в число?

Да, используйте функцию =ЗНАЧЕН(). Например, =ЗНАЧЕН("1500") вернёт число 1500. Обратите внимание: если текст содержит посторонние символы (например, "1 500 р."), функция вернёт ошибку #ЗНАЧ!. В таких случаях предварительно очистите данные с помощью =ПОДСТАВИТЬ() или Power Query.

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

Это стандартное поведение Excel: числа выравниваются по правому краю, а текст — по левому. Если вам нужно сохранить выравнивание по правому краю для текста, выделите ячейки → Главная → Выравнивание → По правому краю. Формат данных при этом не изменится.

Как преобразовать числа в текст в Google Таблицах?

В Google Sheets используйте те же принципы:

  • Для ручного форматирования: Формат → Числа → Обычный текст.
  • Для функций: =ТЕКСТ(A1; "0,00") (аналог Excel).
  • Для прописью: установите надстройку "Число прописью" через Расширения → Надстройки.

Обратите внимание: в Google Таблицах нет Power Query, но есть Apps Script для автоматизации.

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

Нет, если ячейка содержит формулу (например, =СУММ(A1:A10)), её результат всегда будет числовым. Чтобы отобразить результат как текст, создайте дополнительную ячейку с функцией =ТЕКСТ(), ссылающейся на исходную. Например:

=ТЕКСТ(СУММ(A1:A10); "0,00")
Как преобразовать числа в текст в сводной таблице?

Сводные таблицы не поддерживают изменение формата данных на лету. Решения:

  1. Добавьте в исходные данные дополнительный столбец с функцией =ТЕКСТ() и используйте его в сводной таблице.
  2. После создания сводной таблицы выделите ячейки с числами → Параметры сводной таблицы → Числовые форматы → выберите текстовый формат (но это не изменит тип данных, только отображение!).