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

Зачем может понадобиться замена чисел на буквы?

Представьте: у вас таблица с числовыми кодами товаров, где 1 = "Ноутбук", 2 = "Монитор", а 3 = "Клавиатура". Или нужно преобразовать цифры в римские числа для нумерации глав в отчёте. А может, вы работаете с бухгалтерскими документами, где суммы прописью — обязательное требование. Всё это случаи, когда Microsoft Excel должен "перевести" цифры в текстовый формат.

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

  • 🔄 Использовать встроенные функции ВЫБОР() и ЕСЛИМН() для простой подмены
  • 📜 Преобразовывать числа в римские с помощью РИМСКОЕ()
  • 💰 Писать суммы прописью (включая копейки) без VBA
  • 🤖 Автоматизировать процесс макросом для тысяч строк

Важно: методы работают во всех актуальных версиях Excel (2010, 2013, 2016, 2019, 2021, 365), но некоторые функции (например, ТЕКСТРАЗР()) доступны только в Excel 365 и Excel 2021. Проверим?

📊 Какую версию Excel вы используете?
Excel 2010-2016
Excel 2019
Excel 2021
Excel 365
Не знаю

Способ 1: Ручная замена через "Найти и заменить"

Самый простой метод — поиск и замена — подходит, если у вас ограниченный набор чисел (например, 1-10) и небольшая таблица. Алгоритм:

  1. Выделите диапазон ячеек с числами (например, A1:A100).
  2. Нажмите Ctrl + H (или перейдите в Главная → Найти и выделить → Заменить).
  3. В поле Найти введите число (например, 1), в поле Заменить на — соответствующий текст (например, Отлично).
  4. Нажмите Заменить всё.

⚠️ Внимание: Этот способ не подходит для динамических данных — если числа в ячейках изменятся, текст не обновится автоматически. Также он бесполезен для преобразования чисел в римские или прописные суммы.

Выделить диапазон ячеек с числами

Проверить, нет ли в данных лишних пробелов

Сохранить резервную копию файла

Запустить замену по одному числу (чтобы избежать ошибок)-->

Способ 2: Функция ВЫБОР() для простой подмены

Если нужно заменить числа на фиксированный набор текстов (например, 1 → "Январь", 2 → "Февраль"), используйте функцию =ВЫБОР(). Синтаксис:

=ВЫБОР(индекс; значение1; значение2; ...)

Пример: преобразуем числовой код месяца в его название:

=ВЫБОР(A1; "Январь"; "Февраль"; "Март"; "Апрель"; "Май"; "Июнь"; "Июль"; "Август"; "Сентябрь"; "Октябрь"; "Ноябрь"; "Декабрь")

Где A1 — ячейка с числом от 1 до 12. Если в A1 будет 0 или 13, функция вернёт ошибку #ЗНАЧ!.

Число в A1ФормулаРезультат
1=ВЫБОР(A1; "Январь"; ...)Январь
5=ВЫБОР(A1; "Январь"; ...)Май
12=ВЫБОР(A1; "Январь"; ...)Декабрь
13=ВЫБОР(A1; "Январь"; ...)#ЗНАЧ!

💡 Совет: Чтобы избежать ошибок, оберните формулу в ЕСЛИОШИБКА():

=ЕСЛИОШИБКА(ВЫБОР(A1; "Январь"; ...); "Некорректный месяц")

Способ 3: Римские числа с функцией РИМСКОЕ()

Для преобразования арабских чисел (1, 2, 3) в римские (I, II, III) в Excel есть специальная функция:

=РИМСКОЕ(число; [форма])

Параметры:

  • 🔢 число — арабское число (от 1 до 3999).
  • 📏 [форма] (необязательно) — формат римского числа (от 0 до 4). По умолчанию 0 (классический).

Примеры:

=РИМСКОЕ(2023)   → "MMXXIII"

=РИМСКОЕ(4; 2) → "IIII" (вместо "IV")

=РИМСКОЕ(3999) → "MMMCMXCIX" (максимальное значение)

⚠️ Внимание: Функция РИМСКОЕ() не работает с отрицательными числами и числами больше 3999. Для таких случаев потребуется VBA-скрипт (см. Способ 5).
Как работает римская система счисления?

Римские числа строятся из 7 букв: I (1), V (5), X (10), L (50), C (100), D (500), M (1000). Правила:

1. Если меньшая цифра стоит ПЕРЕД большей — она вычитается (IV = 4, IX = 9).

2. Если меньшая цифра стоит ПОСЛЕ большей — она прибавляется (VI = 6, XI = 11).

3. Одинаковые цифры можно повторять до 3 раз (III = 3, XXX = 30).

Способ 4: Сумма прописью без VBA (для Excel 365 и 2021)

В последних версиях Excel появилась функция ТЕКСТРАЗР(), которая преобразует числа в текстовый формат, включая суммы прописью. Синтаксис:

=ТЕКСТРАЗР(число; [десятичные_знаки]; [не_включать_валюту])

Примеры:

=ТЕКСТРАЗР(1234,56)   → "одна тысяча двести тридцать четыре рубля пятьдесят шесть копеек"

=ТЕКСТРАЗР(42; 0; 1) → "сорок два" (без валюты)

Ограничения:

  • 🚫 Работает только в Excel 365 и Excel 2021.
  • 🌍 Поддерживает русский, английский и другие языки (зависит от настроек системы).
  • 💵 Валюта по умолчанию — рубли/копейки, но можно отключить параметром [не_включать_валюту].
⚠️ Внимание: Если вы работаете в Excel 2019 или старше, функция ТЕКСТРАЗР() недоступна. Используйте VBA-макрос (Способ 5) или надстройки сторонних разработчиков.

Способ 5: Автоматизация с помощью VBA (для любых версий)

Если вам нужно преобразовать большой объём данных или использовать собственные правила замены, напишите макрос. Например, этот код преобразует числа в суммы прописью (работает во всех версиях Excel):

Function SumProp(ByVal Summa As Currency) As String

Dim Rubl As String, Kop As String

Rubl = NumToTxt(Int(Summa))

Kop = NumToTxt(Round((Summa - Int(Summa)) * 100, 0))

If Len(Rubl) = 0 Then Rubl = "ноль"

SumProp = Rubl & " рубль " & Kop & " копеек"

End Function

Function NumToTxt(ByVal Number As Integer) As String

' ... (полный код функции см. по ссылке ниже)

End Function

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

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Вернитесь в Excel и введите в ячейке =SumProp(A1), где A1 — ячейка с числом.

🔗 Полный код функции NumToTxt() для копирования.

Частые ошибки и как их избежать

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

ОшибкаПричинаРешение
#ИМЯ?Опечатка в названии функцииПроверьте синтаксис (например, РИМСКОЕ, а не РИМСКИЕ)
#ЗНАЧ!Число вне диапазона (например, >3999 для РИМСКОЕ())Используйте ЕСЛИОШИБКА() или VBA
Неправильный регистрФункция возвращает текст в нижнем регистреПримените =ПРОПНАЧ() или =ПРОПИСН()
Округление копеекТЕКСТРАЗР() округляет до 2 знаковИспользуйте =ОКРУГЛ(A1; 2) перед функцией

💡 Полезный лайфхак: Если после замены числа на текст вам нужно вернуть их обратно, используйте функцию =ЗНАЧЕН() (например, =ЗНАЧЕН(B1), где B1 содержит текстовое число "123").

FAQ: Ответы на популярные вопросы

Можно ли заменить числа на буквы в Google Таблицах?

Да, но не все функции Excel там поддерживаются. Аналоги:

  • =CHOSE() вместо ВЫБОР()
  • =ROMAN() вместо РИМСКОЕ()
  • Для суммы прописью потребуется App Script (аналог VBA).
Как преобразовать номер телефона (например, 79123456789) в формат "+7 (912) 345-67-89"?

Используйте комбинацию функций =ТЕКСТ() и =СЦЕПИТЬ():

=СЦЕПИТЬ("+7 ("; ПСТР(A1;2;3); ") "; ПСТР(A1;5;3); "-"; ПСТР(A1;8;2); "-"; ПСТР(A1;10;2))

Где A1 — ячейка с номером 79123456789.

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

Текстовые значения сортируются по алфавиту, а не по числовому порядку. Решения:

  1. Добавьте ведущие нули (например, 001, 002).
  2. Используйте дополнительный столбец с числовыми значениями для сортировки.
Как заменить числа на буквы в столбце с датами (например, "01.01.2023" → "Первое января")?

Создайте таблицу соответствий (например, в отдельном листе) и используйте =ВПР():

=ВПР(ДЕНЬ(A1); Диапазон_с_числами; 2; ЛОЖЬ) & " " & ВПР(МЕСЯЦ(A1); Диапазон_с_месяцами; 2; ЛОЖЬ)

Где Диапазон_с_числами — это 1|Первое, 2|Второе, а Диапазон_с_месяцами1|января, 2|февраля и т.д.