Skip to main content

Convertendo Números em Palavras em Rúpias Indianas e Outras Moedas no Excel (Edição 2025)

Author: Xiaoyang Last Modified: 2025-08-06

Aqui está como converter números em palavras em Rúpias Indianas — ou qualquer outra moeda — no Excel.

Ao trabalhar com documentos financeiros, como faturas, cotações, formulários de impostos, cheques ou vouchers de pagamento, é frequentemente necessário representar valores monetários tanto em formato numérico quanto em palavras escritas. Isso adiciona uma camada de profissionalismo e ajuda a prevenir fraudes ou mal-entendidos.

Exemplo

12.350,50 → Rúpias Doze Mil Trezentos e Cinquenta e Cinquenta Paisas Apenas

Embora o Microsoft Excel não tenha um recurso embutido para converter números em palavras, existem várias maneiras eficazes de conseguir isso — através de VBA, funções LAMBDA ou o complemento Kutools para Excel.

Converter Números em Palavras em Rúpias Indianas com VBA (Todas as Versões do Microsoft)

Converter Números em Palavras em Rúpias Indianas com Função LAMBDA (Somente Microsoft 365)

Converter Números em USD, EUR e Mais de 30 Outras Moedas (Todas as Versões do Microsoft)

Quando Usar Cada Método


Converter Números em Palavras em Rúpias Indianas com VBA (Todas as Versões do Microsoft)

Para usuários de qualquer versão do Excel, o VBA (Visual Basic for Applications) oferece um método personalizável para converter valores numéricos em palavras usando o sistema de numeração indiano (por exemplo, milhares, lakhs, crores).

Passo 1: Pressione Alt + F11 para abrir o editor VBA (janela Microsoft Visual Basic for Applications).

vba-editor

Passo 2: Vá para Inserir > Módulo.

select-module

Passo 3: Cole o código VBA no Módulo.

Converter números em palavras em Rúpias Indianas

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
paste-code

Passo 4: Salve e retorne ao Excel.

Passo 5: Selecione uma célula e use a fórmula assim:

=ConvertToRupees(A2)

Pressione a tecla Enter

use-formula

💡 Dica: Este método suporta decimais (Paise) e funciona offline.

Limitações do Uso de VBA

  • Requer salvar a pasta de trabalho como um arquivo habilitado para macro (.xlsm).
  • Macros podem ser bloqueadas por configurações de segurança em alguns ambientes.

Converter Números em Palavras em Outras Moedas (USD, EUR, etc.)

Para personalizar a saída para outras moedas, como "Dólares" ou "Euros", você pode ajustar os valores de string na função VBA. Abaixo está uma versão simplificada e mais flexível da função.

Modelo de Código VBA Flexível (Moeda Personalizada)

'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

Exemplo de Fórmula VBA:

=NumberToWordsCustom(A2, "Dollars", "Cents")
vba-formula-to-other-currency

Exemplo de Fórmula VBA de Outra Moeda:

=NumberToWordsCustom(A2, "Euros", "Cents")

=NumberToWordsCustom(A2, "Pounds", "Pence")

O código é flexível — basta passar a moeda desejada e a subunidade.


Salvar Sua Pasta de Trabalho como um Arquivo Habilitado para Macro

Se você estiver usando VBA, é crucial salvar sua pasta de trabalho com macros habilitadas. Caso contrário, seu código será perdido quando o arquivo for fechado.

Passo 1: Vá para Arquivo > Salvar Como

use-save-as

Passo 2: Selecione um local e escolha o tipo de arquivo: Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm).

use-save-as-macro-enabled

Passo 3: Clique em Salvar.

✅ Suas funções personalizadas como =ConvertToRupees(A2) agora persistirão e poderão ser reutilizadas a qualquer momento.


Converter Números em Palavras em Rúpias Indianas com Função LAMBDA (Somente Microsoft 365)

Para usuários do Excel 365, você pode usar LAMBDA, um novo recurso do Excel que permite definir fórmulas personalizadas — sem necessidade de VBA.

🪄 O que é LAMBDA?

LAMBDA é um recurso no Excel que permite criar suas próprias funções personalizadas usando fórmulas — assim como funções embutidas, como SOMA ou SE, mas sem precisar de código ou macros. É ótimo para simplificar lógicas repetitivas e tornar suas planilhas mais limpas e fáceis de manter.

Passo 1: Vá para o Gerenciador de Nomes e clique em Fórmulas > Gerenciador de Nomes.

select-name-manager

Passo 2: Crie um Novo Nome.

  • Clique no botão Novo.

    create-new-name
  • Insira um Nome.

    Exemplo: RupeeToWords

    create-name
  • Passo 3: Cole esta fórmula LAMBDA no campo Refere-se a:

    =LAMBDA(n, LET( units, {"","Um","Dois","Três","Quatro","Cinco","Seis","Sete","Oito","Nove"}, teens, {"Dez","Onze","Doze","Treze","Quatorze","Quinze","Dezesseis","Dezessete","Dezoito","Dezenove"}, tens, {"","","Vinte","Trinta","Quarenta","Cinquenta","Sessenta","Setenta","Oitenta","Noventa"}, num, INT(n), paise, ROUND((n - INT(n)) * 100, 0), ConvertTwo, LAMBDA(x, IF(x<10, INDEX(units, x+1), IF(x<20, INDEX(teens, x-9), INDEX(tens, INT(x/10)+1) & IF(MOD(x,10)>0, " " & INDEX(units, MOD(x,10)+1), "") ) ) ), ConvertThree, LAMBDA(x, IF(x=0, "", IF(x<100, ConvertTwo(x), INDEX(units, INT(x/100)+1) & " Cento" & IF(MOD(x,100)>0, " " & 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)) & " Mil", ""), IF(MOD(INT(num/100),10)>0, INDEX(units, INT(MOD(num,1000)/100)+1) & " Cento", ""), IF(MOD(num,100)>0, ConvertTwo(MOD(num,100)), "") ) ), result, "Rúpias " & words & IF(paise>0, " e " & ConvertTwo(paise) & " Paise", "") & " Apenas", result ))
  • paste-lambda-function
  • Clique em OK para salvar o Novo Nome.

Passo 3. Feche o Gerenciador de Nomes e retorne ao Excel.

Passo 4. Use a fórmula em qualquer célula assim:

=RupeeToWords(A2)

Pressione a tecla Enter.

use-lambda-formula

👀 O código completo da função LAMBDA lida com Crores, Lakhs, Milhares e decimais.


Converter Números em USD, EUR e Mais de 30 Outras Moedas (Todas as Versões do Microsoft)

Para a solução mais eficiente e profissional, use o Kutools para Excel's Numbers to Words. Esta poderosa ferramenta suporta:

🌍 Mais de 30 moedas, incluindo:

  • Dólares Americanos (USD)
  • Euros (EUR)
  • Yuan Chinês (CNY)
  • Libras Esterlinas (GBP)
  • etc.
Download

Passo 1. Selecione as células que deseja converter.

select-cells

Passo 2. Vá para Kutools > Texto > Converter Números em Palavras

select-numbers-to-words

Passo 3. Escolha sua moeda de destino e clique em OK.

select-currency-in-dialog

Os números são convertidos para a moeda especificada.

kutools-convert-result

😁 Dica: Se você quiser converter diretamente números em palavras, marque a opção Não converter para Moeda, e o resultado será mostrado assim:

convert-to-words

Quando Usar Cada Método

  • Use VBA se precisar de uma solução flexível, programável e estiver familiarizado com macros.

  • Use LAMBDA se estiver usando o Excel 365 e precisar apenas ocasionalmente converter valores em Rúpias Indianas. É uma solução leve e compartilhável que não requer macros ou ferramentas externas — perfeita para tarefas simples ou pessoais.
  • Use Kutools para Excel se quiser a solução mais fácil, rápida e versátil — sem necessidade de codificação. Kutools é especialmente útil quando:
    • Você lida com várias moedas.
    • Precisa converter valores em massa ou grandes conjuntos de dados.
    • Quer uma ferramenta pronta para uso profissional, sem macros, com mais de 30 opções de moedas e desempenho impulsionado por IA.

Melhores Ferramentas de Produtividade para Office

🤖 Kutools AI Aide: Revolucione a análise de dados com base em: Execução Inteligente|Gerar Código |Criar Fórmulas Personalizadas|Analisar Dados e Gerar Gráficos |Acionar Funções Aprimoradas
Recursos populares: Encontrar, Destacar ou Marcar Duplicados|Excluir Linhas em Branco|Combinar Colunas ou Células sem perder dados| Arredondar...
Super PROC: PROC com múltiplos critérios|PROC com múltiplos valores|Procura em várias planilhas|Correspondência Fuzzy....
Lista Suspensa Avançada: Crie rapidamente Lista Suspensa|Lista Suspensa Dependente|Lista Suspensa com Múltipla Seleção....
Gerenciador de Colunas: Adicionar um número específico de colunas |Mover Colunas |Alternar o Estado de Visibilidade de Colunas Ocultas| Comparar Intervalo & Colunas...
Recursos em Destaque: Grade de foco|Visualização de Design|Barra de fórmulas aprimorada|Gerenciador de Pasta de Trabalho & Planilha|Biblioteca de AutoTexto|Selecionador de Data|Mesclar Dados |Criptografar/Descriptografar Células|Enviar Email por Lista|Super Filtro|Filtro Especial (filtrar negrito/itálico/tachado...)...
Top15 Conjuntos de Ferramentas:12 Ferramentas de Texto (Adicionar Texto, Excluir Caracteres Específicos, ... ) |Mais de50 Tipos de Gráficos (Gráfico de Gantt, ... ) |Mais de40 Fórmulas Práticas (Calcular a idade com base na data de nascimento, ... ) |19 Ferramentas de Inserção (Inserir Código QR, Inserir Imagem a partir do Caminho, ... ) |12 Ferramentas de Conversão (Converter em Palavras, Conversão de Moeda, ... ) |7 Ferramentas de Mesclar & Dividir (Mesclar Linhas Avançado, Dividir Células, ... ) |... e muito mais
Use o Kutools no idioma de sua preferência – compatível com Inglês, Espanhol, Alemão, Francês, Chinês e mais de40 outros!

Impulsione suas habilidades no Excel com Kutools para Excel e experimente uma eficiência sem igual. Kutools para Excel oferece mais de300 recursos avançados para aumentar sua produtividade e economizar tempo.Clique aqui para obter o recurso que você mais precisa...


Office Tab traz interface de abas para o Office e facilita muito seu trabalho

  • Habilite a edição e leitura com abas no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas abas da mesma janela, em vez de novas janelas.
  • Aumente sua produtividade em50% e reduza centenas de cliques do mouse todos os dias!