Skip to main content

Converter números em palavras no Excel – Um guia abrangente

Author: Xiaoyang Last Modified: 2025-08-06

Converter números em palavras escritas é frequentemente necessário para relatórios financeiros, documentos legais, faturas ou cheques. Embora o Excel não ofereça essa funcionalidade nativamente, existem várias maneiras confiáveis de alcançar isso, desde funções integradas do Microsoft 365 até funções definidas pelo usuário em VBA e poderosas extensões de terceiros. Este guia abrangente percorre cada método, destaca suas vantagens e limitações, e ajuda você a escolher a melhor abordagem para suas necessidades específicas.

A screenshot showing converting numbers to words in Excel

Métodos para converter números em palavras no Excel

Esta seção apresenta três métodos eficazes para converter números monetários em palavras no Excel. Escolha aquele que melhor se adapta à sua versão do Excel e ao seu caso de uso.


Método 1: Usar novas funções embutidas (somente Microsoft 365)

Se você estiver usando o Excel para Microsoft 365, pode aproveitar a nova função TRANSLATE para converter facilmente números monetários em palavras usando uma combinação criativa de fórmulas.

Como mostrado na captura de tela abaixo, para converter os números monetários no intervalo A2:A5 em palavras, você pode aplicar a seguinte fórmula para realizar a tarefa.

  1. Selecione uma célula em branco (por exemplo, B2), insira a fórmula abaixo.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),"th","en")),"baht","dollars"),"satang","cents"))
  2. Pressione "Enter" e arraste a "Alça de Preenchimento" para baixo para aplicá-la às outras linhas.
    A screenshot showing how to use the new function to convert numbers to words

Como a fórmula funciona:

  • BAHTTEXT: Converte o número em texto em Thai-baht (por exemplo, “หนึ่งบาทถ้วน”).
  • TRANSLATE(...,"th","en"): Traduz o texto de um idioma para outro (requer Microsoft 365). Neste caso, traduz do tailandês para o inglês.
  • LOWER(): Converte toda a string para minúsculas para consistência.
  • SUBSTITUTE(): Substitui palavras de moeda como "baht" e "satang" pelos termos desejados.
  • PROPER(): Coloca a primeira letra de cada palavra em maiúscula para formatação adequada.

Adaptar para outras moedas:

A fórmula acima gera dólares americanos. Você pode personalizá-la para outras moedas substituindo as unidades principais e secundárias:

  • Substitua "dollars" pela unidade principal da sua moeda alvo, como "pounds" para libras britânicas.
  • Substitua "cents" pela unidade secundária, como "pence" para libras britânicas.

A tabela a seguir lista moedas compatíveis e as fórmulas correspondentes que você pode usar:

MoedaSubstituição da Unidade PrincipalSubstituição da Unidade SecundáriaExemplo de Fórmula (Assumindo que o valor está na célula A2)
USD dollars cents =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","dollars"),"satang","cents"))
GBP pounds pence =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","pounds"),"satang","pence"))
EUR euros cents =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","euros"),"satang","cents"))
MYR ringgit sen =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","ringgit"),"satang","sen"))

Limitações deste método:

  • Funciona apenas no Excel para Microsoft 365 (devido à função TRANSLATE()).
  • A saída depende muito da precisão da formatação da função BAHTTEXT().
  • Este método é adequado para moedas que, como o Baht Tailandês, possuem tanto uma unidade principal quanto uma subunidade (por exemplo, dólares e centavos). Não é recomendado para moedas que não seguem uma estrutura monetária semelhante.

Método 2: Usar função definida pelo usuário em VBA

Nesta seção, você aprenderá como usar uma Função Definida pelo Usuário (UDF) baseada em VBA para converter valores numéricos em palavras de moeda em inglês — adaptada especificamente para dólares americanos (USD) por padrão.

Passo 1: Inserir código VBA

  1. Abra a planilha onde deseja usar este recurso.
  2. Pressione "Alt" + "F11" para abrir a janela "Microsoft Visual Basic for Applications".
  3. No editor, clique em "Inserir" > "Módulo", e cole o seguinte código VBA.
    Function SpellNumberToEnglish(ByVal pNumber)
    'Update by Extendoffice
    Dim Dollars, Cents
    arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
    pNumber = Trim(Str(pNumber))
    xDecimal = InStr(pNumber, ".")
    If xDecimal > 0 Then
        Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
        pNumber = Trim(Left(pNumber, xDecimal - 1))
    End If
    xIndex = 1
    Do While pNumber <> ""
        xHundred = ""
        xValue = Right(pNumber, 3)
        If Val(xValue) <> 0 Then
            xValue = Right("000" & xValue, 3)
            If Mid(xValue, 1, 1) <> "0" Then
                xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
            End If
            If Mid(xValue, 2, 1) <> "0" Then
                xHundred = xHundred & GetTens(Mid(xValue, 2))
            Else
                xHundred = xHundred & GetDigit(Mid(xValue, 3))
            End If
        End If
        If xHundred <> "" Then
            Dollars = xHundred & arr(xIndex) & Dollars
        End If
        If Len(pNumber) > 3 Then
            pNumber = Left(pNumber, Len(pNumber) - 3)
        Else
            pNumber = ""
        End If
        xIndex = xIndex + 1
    Loop
    Select Case Dollars
        Case ""
            Dollars = "No Dollars"
        Case "One"
            Dollars = "One Dollar"
        Case Else
            Dollars = Dollars & " Dollars"
    End Select
    Select Case Cents
        Case ""
            Cents = " and No Cents"
        Case "One"
            Cents = " and One Cent"
        Case Else
            Cents = " and " & Cents & " Cents"
    End Select
    SpellNumberToEnglish = Dollars & Cents
    End Function
    Function GetTens(pTens)
    Dim Result As String
    Result = ""
    If Val(Left(pTens, 1)) = 1 Then
        Select Case Val(pTens)
            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"
            Case Else
        End Select
    Else
    Select Case Val(Left(pTens, 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 "
        Case Else
    End Select
    Result = Result & GetDigit(Right(pTens, 1))
    End If
    GetTens = Result
    End Function
    Function GetDigit(pDigit)
    Select Case Val(pDigit)
        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
    A screenshot showing the code editor
  4. Pressione "Alt" + "Q" para voltar à planilha.

Passo 2: Aplicar a função

  1. Em uma célula, insira a fórmula abaixo e pressione "Enter".
    =SpellNumberToEnglish(A2)
  2. Depois, arraste a alça de preenchimento para aplicá-la a outras linhas conforme necessário. Seus números agora serão convertidos em palavras como:
    A screenshot showing the user-defined function and the results

Adaptar para outras moedas:

A função gera valores em "Dollar(s)" e "Cent(s)", que estão codificados apenas para USD. Se você quiser converter números em outras moedas, por exemplo, "Libra Esterlina", precisa alterar manualmente as unidades principais e secundárias nas seguintes linhas de código.

A screenshot showing how to change the codes to adapt for other currencies

Salvar a pasta de trabalho como um arquivo habilitado para macros

Por padrão, funções VBA não serão mantidas a menos que a pasta de trabalho seja salva como uma pasta de trabalho habilitada para macros:

  1. Pressione "Ctrl" + "S" para salvar.
  2. E selecione o botão "Voltar" na mensagem pop-up sobre macros.
    Nota: Se o pop-up mostrar apenas "Sim", "Não" e "Ajuda", clique em "Não".
    A screenshot showing how to change the codes to adapt for other currencies
  3. Na janela "Salvar Como".
    1. Escolha um local para salvar.
    2. Selecione "Pasta de Trabalho Habilitada para Macro do Excel (*.xlsm)" na lista suspensa "Salvar como tipo".
    3. Clique em "Salvar".
      A screenshot showing how to change the codes to adapt for other currencies

Limitações da função SpellNumberToEnglish em VBA

Sem suporte para múltiplos idiomas
  • Esta função gera resultados apenas em inglês.
  • Não suporta outros idiomas (por exemplo, francês, alemão), nem lida com estruturas de moedas onde a unidade monetária vem antes do número (por exemplo, "Rúpias Cem" em inglês indiano).
Não salva em arquivos Excel padrão
  • Se você não salvar a pasta de trabalho como uma pasta de trabalho habilitada para macros (.xlsm), a função será perdida quando você fechar o Excel.
  • Se for salva como um arquivo .xlsx normal, todo o código VBA será removido.
Aviso de segurança de macro ao compartilhar
  • Enviar o arquivo habilitado para macros para outros irá disparar um aviso de "Aviso de Segurança - Macros foram desativadas" quando aberto.
  • Alguns usuários podem hesitar em ativar macros, temendo riscos de segurança potenciais, e podem optar por não usar o arquivo.
Requer conhecimento de VBA para personalização
  • Quaisquer mudanças nos termos de moeda ou formatação exigem edição manual do código VBA.
  • Não ideal para usuários não familiarizados com macros ou scripts.

Método 3: Usar Kutools para Excel (sem fórmulas ou VBA necessário)

Se você instalar "Kutools para Excel", use seu recurso "Números para Palavras" para converter números em inglês (moeda ou texto simples), além de dezenas de outros idiomas e moedas como EUR, GBP, JPY, etc.

Se você está procurando uma solução amigável, fácil de usar e versátil para converter números em palavras no Excel sem código, o Kutools para Excel oferece um recurso dedicado de "Números para Palavras" que suporta:

  • Inglês (USD, GBP, EUR, etc.)
  • Dezenas de outros idiomas e moedas (por exemplo, iene japonês, rupia indiana, yuan chinês)
  • Formato de moeda ou palavras simples (por exemplo, "Cento e Vinte-Três" em vez de "Cento e Vinte-Três Dólares")

Passos para usar:

  1. Selecione as células que contêm os números que você deseja converter.
  2. Selecione "Kutools" > "Texto" > "Números para Palavras".
  3. Na caixa de diálogo "Números para Palavras de Moeda", você precisa:
    1. Escolha o idioma e o estilo de moeda que preferir (por exemplo, inglês – Estados Unidos para USD)
    2. Clique em "OK".
      A screenshot showing the numbers to currency word dialog box

Opcional: Marque "Não converter em moeda" se quiser palavras simples em inglês (sem "dólares" ou "centavos").

Os números selecionados agora serão convertidos nas palavras de moeda apropriadas, dependendo das suas configurações.

Kutools para Excel - Potencialize o Excel com mais de 300 ferramentas essenciais. Aproveite recursos de IA permanentemente gratuitos! Obtenha Agora


Operação inversa: Converter palavras de moeda em números

Se você tiver uma lista de valores monetários escritos em palavras em inglês, como:

"Cento e vinte-três dólares e quarenta e cinco centavos"

e quiser convertê-los em números reais no Excel (por exemplo, 123,45), pode usar uma função personalizada VBA User Defined Function (UDF) da seguinte forma.

Passo 1: Abra o Editor VBA e insira o código VBA

  1. Abra sua pasta de trabalho do Excel.
  2. Pressione "Alt" + "F11" para abrir o editor "Microsoft Visual Basic for Applications (VBA)".
  3. No editor VBA, clique em "Inserir" > "Módulo".
  4. Copie e cole o seguinte código VBA na janela de módulo em branco:
    Function WordsToNumber(ByVal Txt As String) As Double
    'Updated by Extendoffice
        Dim x As Object: Set x = CreateObject("Scripting.Dictionary")
        Dim units, tens, specials
        Dim part As String, parts() As String
        Dim total As Double, partial As Double, multiplier As Double
        Dim i As Long, word As String
        
        Txt = LCase(Trim(Txt))
        Txt = Replace(Txt, ",", "")
        Txt = Replace(Txt, "-", " ")
        Txt = Replace(Txt, " and ", " ")
        Txt = Replace(Txt, "  ", " ")
        
        ' Setup basic number words
        x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3
        x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7
        x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11
        x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14
        x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17
        x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20
        x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50
        x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80
        x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000
        x.Add "million", 1000000: x.Add "billion", 1000000000
        
        Dim dollarPart As String, centPart As String
        Dim dollarValue As Double, centValue As Double
        
        ' Split into dollars and cents
        If InStr(Txt, "dollar") > 0 Then
            dollarPart = Trim(Split(Txt, "dollar")(0))
        End If
        If InStr(Txt, "cent") > 0 Then
            centPart = Trim(Split(Txt, "cent")(0))
            If InStr(centPart, "dollar") > 0 Then
                centPart = Trim(Split(centPart, "dollar")(1))
            End If
        End If
        
        dollarValue = ParseWordsToNumber(dollarPart, x)
        centValue = ParseWordsToNumber(centPart, x)
        
        WordsToNumber = dollarValue + centValue / 100
    End Function
    
    Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double
        Dim parts() As String: parts = Split(Txt, " ")
        Dim total As Double, current As Double
        Dim i As Long, val As Double
        
        For i = 0 To UBound(parts)
            If x.exists(parts(i)) Then
                val = x(parts(i))
                Select Case val
                    Case 100
                        If current = 0 Then current = 1
                        current = current * val
                    Case Is >= 1000
                        If current = 0 Then current = 1
                        total = total + current * val
                        current = 0
                    Case Else
                        current = current + val
                End Select
            End If
        Next i
        
        total = total + current
        ParseWordsToNumber = total
    End Function

Passo 2: Aplique a função na sua planilha

  1. Pressione "Alt" + "Q" para retornar ao Excel.
  2. Em qualquer célula vazia, insira esta fórmula e pressione "Enter". Arraste a "Alça de Preenchimento" para baixo para obter os resultados restantes.
    =WordsToNumber(A2)
    A screenshot showing how to convert words to numbers

Conclusão

Converter números em palavras — ou palavras de volta para números — não é algo que o Excel ofereça nativamente, mas este guia mostrou que existem várias soluções práticas dependendo das suas necessidades:

  • Usuários do Microsoft 365 podem aproveitar funções modernas embutidas como TRANSLATE para converter números monetários em palavras em inglês com fórmulas, especialmente para moedas que seguem uma estrutura de "principal + subunidade".
  • Funções definidas pelo usuário em VBA oferecem maior flexibilidade tanto para converter números em palavras quanto para reverter palavras de moeda de volta para valores numéricos. No entanto, elas trazem preocupações de segurança relacionadas a macros e são mais adequadas para usuários familiarizados com codificação.
  • O Kutools para Excel oferece a opção mais fácil, multilíngue e rica em recursos — sem necessidade de fórmulas ou codificação, cobrindo dezenas de moedas e idiomas.
  • Se você precisar reverter palavras de volta para números, a solução VBA preenche essa lacuna de forma eficaz, embora possa exigir limpeza (por exemplo, remover vírgulas) para resultados precisos.

Seja preparando documentos financeiros, automatizando a impressão de cheques ou simplesmente aprimorando a apresentação de dados, escolher o método certo ajuda você a alcançar saídas profissionais e precisas.


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!