KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Конвертация Преобразовать в слова в Индийская рупия и другие валюты в Excel (2025 версия)

АвторСяоянДата изменения

Вот как преобразовать числа в слова на индийских рупиях — или любой другой валюте — в Excel.

При работе с финансовыми документами — такими как счета, коммерческие предложения, налоговые формы, чеки или платёжные поручения — денежные суммы часто требуется указывать как цифрами, так и прописью в формате Word. Это придаёт документу профессиональный вид и помогает предотвратить мошенничество или недопонимание.

Пример

12,350,50 → Двенадцать тысяч триста пятьдесят рупий и пятьдесят пайсов только

Хотя в Microsoft Excel нет встроенной функции для преобразования чисел в слова, добиться этого можно несколькими эффективными способами — с помощью VBA, функций LAMBDA или универсальной надстройки Kutools для Excel.

Конвертация Преобразовать в слова в Индийская рупия с помощью VBA (все версии Microsoft)

Конвертация Преобразовать в слова в Индийская рупия с помощью функции LAMBDA (только Microsoft 365)

Преобразование чисел в USD, EUR и 30+ другие валюты (все версии Microsoft)

Когда какой метод использовать


Конвертация Преобразовать в слова в Индийская рупия с помощью VBA (все версии Microsoft)

Для пользователей любой версии Excel VBA (Visual Basic for Applications) предлагает гибкий способ преобразования числовых сумм в слова по индийской системе счисления — с учётом тысяч, лакхов и кроров.

Шаг 1. Нажмите Alt+F11, чтобы открыть редактор VBA (окно Microsoft Visual Basic for Applications).

редактор-vba

Шаг 2. Перейдите в меню Вставка > Модуль.

выбрать-модуль

Шаг 3. Вставьте код VBA в модуль.

Преобразование чисел в слова в валюте Индийская рупия

Function ConvertToRupees(ByVal MyNumber)
'UpdatebyExtendoffice
    Dim Units As String, SubUnits As String, TempStr As String
    Dim DecimalPlace As Integer, Count As Integer
    Dim Place(9) As String
    Place(2) = " Thousand "
    Place(3) = " Lakh "
    Place(4) = " Crore "
    
    MyNumber = Trim(Str(MyNumber))
    DecimalPlace = InStr(MyNumber, ".")
    
    If DecimalPlace > 0 Then
        SubUnits = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & "00", 2))
        MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))
    End If
    
    Count = 1
    Do While MyNumber <> ""
        TempStr = GetHundreds(Right(MyNumber, 3))
        If TempStr <> "" Then Units = TempStr & Place(Count) & Units
        If Len(MyNumber) > 3 Then
            MyNumber = Left(MyNumber, Len(MyNumber) - 3)
        Else
            MyNumber = ""
        End If
        Count = Count + 1
    Loop
    
    ConvertToRupees = "Rupees " & Application.WorksheetFunction.Trim(Units)
    If SubUnits <> "" Then
        ConvertToRupees = ConvertToRupees & " and " & SubUnits & " Paise"
    End If
    ConvertToRupees = ConvertToRupees & " Only"
End Function

Private Function GetHundreds(ByVal MyNumber)
    Dim Result As String
    If Val(MyNumber) = 0 Then Exit Function
    MyNumber = Right("000" & MyNumber, 3)
    
    If Mid(MyNumber, 1, 1) <> "0" Then
        Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "
    End If
    
    If Mid(MyNumber, 2, 1) <> "0" Then
        Result = Result & GetTens(Mid(MyNumber, 2))
    Else
        Result = Result & GetDigit(Mid(MyNumber, 3))
    End If
    GetHundreds = Result
End Function

Private Function GetTens(TensText)
    Dim Result As String
    If Val(Left(TensText, 1)) = 1 Then
        Select Case Val(TensText)
            Case 10: Result = "Ten"
            Case 11: Result = "Eleven"
            Case 12: Result = "Twelve"
            Case 13: Result = "Thirteen"
            Case 14: Result = "Fourteen"
            Case 15: Result = "Fifteen"
            Case 16: Result = "Sixteen"
            Case 17: Result = "Seventeen"
            Case 18: Result = "Eighteen"
            Case 19: Result = "Nineteen"
        End Select
    Else
        Select Case Val(Left(TensText, 1))
            Case 2: Result = "Twenty "
            Case 3: Result = "Thirty "
            Case 4: Result = "Forty "
            Case 5: Result = "Fifty "
            Case 6: Result = "Sixty "
            Case 7: Result = "Seventy "
            Case 8: Result = "Eighty "
            Case 9: Result = "Ninety "
        End Select
        Result = Result & GetDigit(Right(TensText, 1))
    End If
    GetTens = Result
End Function

Private Function GetDigit(Digit)
    Select Case Val(Digit)
        Case 1: GetDigit = "One"
        Case 2: GetDigit = "Two"
        Case 3: GetDigit = "Three"
        Case 4: GetDigit = "Four"
        Case 5: GetDigit = "Five"
        Case 6: GetDigit = "Six"
        Case 7: GetDigit = "Seven"
        Case 8: GetDigit = "Eight"
        Case 9: GetDigit = "Nine"
        Case Else: GetDigit = ""
    End Select
End Function
вставить-код

Шаг 4. Сохраните изменения и вернитесь в Excel.

Шаг 5. Выберите ячейку и примените формулу следующим образом:

=ConvertToRupees(A2)

Нажмите клавишу Enter.

использовать-формулу

💡Совет: этот метод поддерживает десятичные дроби (пайсы) и работает автономно.

Ограничения использования VBA

  • Книгу необходимо сохранить в формате файла с поддержкой макросов (.xlsm).
  • Макросы могут быть заблокированы настройками безопасности в определённых средах.

Конвертация Преобразовать в слова в другие валюты (USD, EUR и др.)

Чтобы адаптировать результат под другие валюты, например доллары или евро, просто измените строковые значения в функции VBA. Ниже — упрощённая и более гибкая версия функции.

Гибкий шаблон кода VBA (для настраиваемой валюты)

'UpdatebyExtendoffice
Public Function NumberToWordsCustom(ByVal num As Double, Optional ByVal currency2 As String, Optional ByVal subCurrency As String) As String
    Dim result As String
    Dim dollars As Long
    Dim cents As Long

    dollars = Int(num)
    cents = Round((num - dollars) * 100)
  
    If Len(currency2) = 0 Then currency2 = "Dollars"
    If Len(subCurrency) = 0 Then subCurrency = "Cents"
    result = currency2 & " " & SpellNumber_English(dollars)

    If cents > 0 Then
        result = result & " and " & SpellNumber_English(cents) & " " & subCurrency
    End If

    NumberToWordsCustom = result & " Only"
End Function

Private Function SpellNumber_English(ByVal MyNumber As Long) As String
    Dim Units As Variant, Tens As Variant, Teens As Variant
    Dim Place() As String
    Dim TempStr As String
    Dim Count As Integer
    Dim t As String
    Dim StrNumber As String
    Dim n As Integer

    Place = Split(" Thousand Million Billion", " ")
    Units = Array("", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine")
    Tens = Array("", "", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety")
    Teens = Array("Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen")

    StrNumber = Trim(Str(MyNumber))
    Count = 0

    Do While StrNumber <> ""
        n = Val(Right(StrNumber, 3))
        If n <> 0 Then
            t = ConvertHundreds(n, Units, Tens, Teens)
            If Count > 0 Then t = t & " " & Place(Count - 1)
            TempStr = t & " " & TempStr
        End If
        If Len(StrNumber) > 3 Then
            StrNumber = Left(StrNumber, Len(StrNumber) - 3)
        Else
            StrNumber = ""
        End If
        Count = Count + 1
    Loop

    SpellNumber_English = Trim(TempStr)
End Function

Private Function ConvertHundreds(ByVal n As Integer, Units As Variant, Tens As Variant, Teens As Variant) As String
    Dim result As String
    If n >= 100 Then
        result = Units(Int(n / 100)) & " Hundred "
        n = n Mod 100
    End If
    If n >= 20 Then
        result = result & Tens(Int(n / 10)) & " "
        n = n Mod 10
    ElseIf n >= 10 Then
        result = result & Teens(n - 10) & " "
        n = 0
    End If
    If n > 0 Then
        result = result & Units(n)
    End If
    ConvertHundreds = Trim(result)
End Function

Пример формулы VBA:

=NumberToWordsCustom(A2, «Dollars», «Cents»)
vba-формула-для-другой-валюты

Пример формулы VBA для другой валюты:

=NumberToWordsCustom(A2, «Euros», «Cents»)

=NumberToWordsCustom(A2, «Pounds», «Pence»)

Код гибкий — просто укажите нужную валюту и её подразделение.


Сохраните книгу как файл с поддержкой макросов

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

Шаг 1. Перейдите в меню Файл > Сохранить как

использовать-сохранить-как

Шаг 2. Выберите место для сохранения и укажите тип файла: Книга Excel с поддержкой макросов (*.xlsm).

использовать-сохранить-как-с-макросами

Шаг 3. Нажмите Сохранить.

✅ Ваши пользовательские функции, например =ConvertToRupees(A2), теперь сохраняются и всегда готовы к повторному использованию.


Конвертация Преобразовать в слова в Индийская рупия с помощью функции LAMBDA (только Microsoft 365)

Пользователям Excel 365 доступна функция LAMBDA — инновационный инструмент Excel для создания собственных формул без применения VBA.

🪄 Что такое LAMBDA?

Функция LAMBDA в Excel позволяет создавать собственные пользовательские функции с помощью формул — так же просто, как использовать встроенные функции вроде СУММ или ЕСЛИ, но без написания кода или макросов. Она идеально подходит для упрощения повторяющейся логики и делает ваши таблицы чище и проще в обслуживании.

Шаг 1: перейдите на вкладку Формулы и нажмите Менеджер имен.

выбрать-диспетчер-имен

Шаг 2: создайте новое имя.

  • Нажмите кнопку Создать.

    создать-новое-имя
  • Введите имя.

    Пример: RupeeToWords

    создать-имя
  • Шаг 3: Вставьте эту формулу LAMBDA в поле Ссылается на:

    =LAMBDA(n, LET( units, {«»,«One»,«Two»,«Three»,«Four»,«Five»,«Six»,«Seven»,«Eight»,«Nine»}, teens, {«Ten»,«Eleven»,«Twelve»,«Thirteen»,«Fourteen»,«Fifteen»,«Sixteen»,«Seventeen»,«Eighteen»,«Nineteen»}, tens, {«»,«»,«Twenty»,«Thirty»,«Forty»,«Fifty»,«Sixty»,«Seventy»,«Eighty»,«Ninety»}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA(x, IF(x0, « » &, INDEX(units, MOD(x,10)+1), «») ) ) ), ConvertThree, LAMBDA(x, IF(x=0, «», IF(x0, « » & ConvertTwo(MOD(x,100)), «») ) ) ), words, IF(num=0, «Zero», TEXTJOIN(« », TRUE, IF(INT(num/10000000)>0, ConvertTwo(INT(num/10000000)) & « Crore», «»), IF(MOD(INT(num/100000),100)>0, ConvertTwo(INT(MOD(num,10000000)/100000)) & « Lakh», «»), IF(MOD(INT(num/1000),100)>0, ConvertTwo(INT(MOD(num,100000)/1000)) & « Thousand», «»), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & « Hundred», «»), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), «») ) ), result, «Rupees » & words & IF(paise>0, « and » & ConvertTwo(paise) & « Paise», «») & « Only», result ))
  • вставить-функцию-lambda
  • Нажмите ОК, чтобы сохранить новое имя.

Шаг 3. Закройте окно «Менеджер имен» и вернитесь в Excel.

Шаг 4. Введите формулу в любую ячейку следующим образом:

=RupeeToWords(A2)

Нажмите клавишу Enter.

использовать-формулу-lambda

👀 Полный код функции LAMBDA корректно обрабатывает кроры, лакхи, тысячи и десятичные дроби.


Преобразование чисел в USD, EUR и 30+ другие валюты (все версии Microsoft)

Для самого эффективного и профессионального решения используйте Kutools для Excel's Преобразовать в слова. Этот мощный инструмент поддерживает:

🌍 Более 30 валют, включая:

  • Доллары США (USD)
  • Евро (EUR)
  • Китайские юани (CNY)
  • Британские фунты стерлингов (GBP)
  • и др.
Скачать

Шаг 1. Выделите ячейки, которые нужно преобразовать.

выбрать-ячейки

Шаг 2. Перейдите в меню Kutools > Содержимое > Преобразовать в слова

выбрать-числа-прописью

Шаг 3. Выберите целевую валюту и нажмите «ОК».

выбрать-валюту-в-диалоговом-окне

Числа автоматически преобразуются в указанную валюту.

результат-преобразования-kutools

😁Совет: если вы хотите сразу конвертировать Преобразовать в слова, установите флажок Не преобразовывать в валюту, и результат будет отображён следующим образом:

преобразовать-в-слова

Когда какой метод использовать

  • Используйте VBA, если вам нужен гибкий программируемый инструмент и вы уже знакомы с макросами.

  • Используйте LAMBDA, если вы работаете в Excel 365 и лишь изредка конвертируете значения индийских рупий. Это лёгкое и удобное для совместного использования решение, не требующее макросов или внешних инструментов — идеальный выбор для простых или личных задач.
  • Воспользуйтесь Kutools для Excel, если вам нужно самое простое, быстрое и универсальное решение — без программирования. Kutools особенно полезен, когда:
    • Вы работаете с несколькими валютами.
    • Требуется массовая конвертация значений или обработка крупных наборов данных.
    • Хотите профессиональный инструмент без макросов с более чем 30 вариантами валют и производительностью на базе ИИ?

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек