Конвертация чисел в текстовый формат в Excel

Иван Корнев·10.04.2026·4 мин

Чтобы перевести число в текст в Excel, используйте встроенную функцию =ROMAN() для римских цифр или создайте пользовательскую функцию на VBA для написания сумм прописью на русском языке. Стандартных функций для русского прописного текста в обычном интерфейсе Excel нет, поэтому для счетов и договоров требуется использование макросов.

Краткий ответ: Для римских цифр достаточно формулы =ROMAN(A1). Для суммы прописью (например, «сто рублей») необходимо добавить код VBA, так как стандартный набор функций этого не поддерживает.

Написание чисел прописью на русском языке

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

Способ 1: Пользовательская функция (VBA) — Рекомендуемый

Этот метод позволяет создать свою функцию, например =СуммаПрописью(A1), которая будет работать во всей книге.

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. В меню выберите Insert > Module.
  3. Вставьте следующий код (упрощенная версия для целых чисел):
Function SumPropis(ByVal Number As Double) As String
    Dim Rubles As Long, Kopecks As Long
    Dim Result As String
    
    ' Разделение на рубли и копейки
    Rubles = Int(Number)
    Kopecks = Round((Number - Rubles) * 100, 0)
    
    ' Здесь должна быть логика склонения (тысяча, тысячи, тысяч и т.д.)
    ' Для полноценной работы требуется большой массив слов.
    ' Ниже приведен пример вызова готовой логики или заглушка:
    
    If Rubles = 0 Then
        Result = "Ноль рублей"
    Else
        ' В реальном макросе здесь вызывается функция склонения
        Result = CStr(Rubles) & " рублей (требуется полный код склонения)"
    End If
    
    If Kopecks > 0 Then
        Result = Result & " " & CStr(Kopecks) & " копеек"
    End If
    
    SumPropis = Result
End Function

Приведенный выше код — это каркас. Для реальной работы в документах (счета-фактуры, акты) лучше скачать готовую проверенную надстройку «Сумма прописью», так как полный алгоритм склонения занимает сотни строк кода и учитывает сложные правила русского языка (1 рубль, 2 рубля, 5 рублей).

  1. Сохраните файл как Книга с поддержкой макросов (.xlsm).
  2. В ячейке используйте формулу: =SumPropis(A1).

Способ 2: Формулы без макросов (Ограниченный)

Можно собрать текст через функции ТЕКСТ, ВЫБОР и ЕСЛИ, но это работает только для небольших чисел и требует создания отдельных таблиц со словами («один», «два»... «тысяча»). Такой способ неудобен для поддержки и часто приводит к ошибкам в окончаниях.

Преобразование в римские цифры

Для перевода арабских цифр в римские в Excel есть встроенная функция РИМСКОЕ (в английской версии — ROMAN). Она не требует макросов и работает мгновенно.

Синтаксис функции

Формула имеет вид: =РИМСКОЕ(число; [форма])

Где:

  • число — обязательный аргумент. Целое положительное число.
  • форма — необязательный аргумент (от 0 до 4). Определяет степень упрощения записи.
Значение формыСтиль записиПример (число 99)Пример (число 1999)
0 (или пропущено)КлассическийXCIXMCMXCIX
1Более краткийXCIXMLMVLIV
2Еще более краткийXCIXXMIX
3Еще более краткийXCIXVMIV
4УпрощенныйICIM

Чаще всего используется форма 0 (классическая), так как она соответствует общепринятым стандартам написания римских цифр. Остальные формы применяются редко, в основном для стилизации или в учебных целях.

Ограничения функции РИМСКОЕ

  1. Диапазон значений: Функция работает только с числами от 1 до 3999.
    • Если ввести 0 или отрицательное число, вернется ошибка #ЗНАЧ!.
    • Если число больше 3999, также возникнет ошибка.
  2. Целые числа: Функция игнорирует дробную часть. Перед передачей числа в функцию его желательно округлить: =РИМСКОЕ(ОКРУГЛ(A1; 0))

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

Оформление финансовых документов

При создании счетов часто требуется дублировать сумму цифрами и прописью.

  • Ячейка A1: 1250,50
  • Ячейка B1 (формула): =СуммаПрописью(A1) → «Одна тысяча двести пятьдесят рублей 50 копеек».
  • Важно: Убедитесь, что макросы включены в настройках безопасности Excel, иначе вместо текста вы увидите ошибку #ИМЯ?.

Нумерация веков и глав

Для обозначения веков или порядковых номеров в заголовках удобно использовать римские цифры.

  • Исходное число: 21
  • Формула: ="Век " & РИМСКОЕ(21)
  • Результат: Век XXI

Частые ошибки

  • Ошибка #ИМЯ? при использовании прописи. Это означает, что Excel не видит функцию. Проверьте, сохранен ли файл в формате .xlsm и включены ли макросы. Если вы использовали формулу без VBA, проверьте правильность имен ячеек в функциях ВЫБОР.
  • Ошибка #ЗНАЧ! в функции РИМСКОЕ. Возникает, если исходное число меньше 1 или больше 3999. Также ошибка появится, если в ячейке находится текст, а не число.
  • Некорректные окончания (рубль/рубля/рублей). При самостоятельном написании формул часто забывают про правило «11–19». Числа от 11 до 19 всегда требуют окончания множественного числа родительного падежа (11 рублей, а не 11 рубль). Макросы учитывают это автоматически.

FAQ

Можно ли сделать сумму прописью в онлайн-версии Excel? Нет. Веб-версия Excel (в браузере) не поддерживает макросы VBA. Для онлайн-документов придется использовать сторонние сервисы для конвертации и вставлять результат вручную, либо использовать скрипты Google Apps Script, если вы работаете в Google Таблицах.

Как перевести римские цифры обратно в арабские? Используйте функцию =ARABIC(текст) (или =АРАБСКОЕ(текст) в русской версии). Например, =АРАБСКОЕ("XIV") вернет число 14.

Почему функция РИМСКОЕ выдает странные символы для числа 4000? Стандартная функция Excel не поддерживает числа больше 3999. Для больших значений потребуется кастомное решение на формулах или VBA, которое будет комбинировать символы тысяч (M) и других знаков вручную.