KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

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

AutorXiaoyang Data de Modificação

A conversão de números em palavras escritas é frequentemente essencial em relatórios financeiros, documentos legais, faturas ou cheques. Embora o Excel não inclua essa funcionalidade pronta a usar, existem várias soluções fiáveis para a implementar — desde funções integradas do Microsoft 365 e funções personalizadas em VBA até suplementos de terceiros poderosos. Este guia abrangente explica cada método, destaca as respetivas vantagens e limitações e ajuda-o a escolher a abordagem ideal para as suas necessidades específicas.

Uma captura de ecrã que mostra a conversão de números em palavras no Excel

Métodos para converter Converter em Palavras no Excel

Esta secção apresenta três métodos eficazes para converter moeda em palavras no Excel. Escolha o que melhor se adapta à sua versão do Excel e ao seu caso de uso.


Método 1: Utilizar novas funções integradas (apenas Microsoft 365)

Se estiver a utilizar o Excel para Microsoft 365, pode aproveitar a nova função TRANSLATE para converter facilmente moeda em palavras com uma combinação criativa de fórmulas.

Como ilustrado na imagem abaixo, para converter os valores monetários no intervalo A2:A5 em palavras, aplique a seguinte fórmula.

  1. Selecione uma célula vazia (por exemplo, B2) e introduza a fórmula abaixo.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
  2. Prima «Enter» e arraste a «alça de preenchimento» para baixo para aplicar às restantes linhas.
    Uma captura de ecrã que mostra como utilizar a nova função para converter números em palavras

Como funciona a fórmula:

  • BAHTTEXT: Converte o número em texto em baht tailandês (por exemplo, «หนึ่งบาทถ้วน»).
  • TRANSLATE(...,«th»,«en»): Traduz texto de um idioma para outro (requer Microsoft 365). Neste caso, traduz do tailandês para inglês.
  • LOWER(): Converte toda a cadeia para minúsculas, garantindo consistência.
  • SUBSTITUTE(): Substitui termos monetários como «baht» e «satang» pelos equivalentes pretendidos.
  • PROPER(): Coloca em maiúscula a primeira letra de cada palavra, garantindo uma formatação correta.

Adaptar para outras moedas:

A fórmula acima devolve dólares norte-americanos. Pode personalizá-la para outras moedas substituindo as unidades principais e secundárias:

  • Substitua «dólares» pela unidade principal da moeda pretendida, como «libras» no caso da Libra Esterlina.
  • Substitua «centavos» pela unidade secundária, como «pence» no caso da libra esterlina.

A tabela seguinte lista as moedas compatíveis e as fórmulas correspondentes que pode utilizar:

MoedaSubstituição da unidade principalSubstituição da unidade secundáriaExemplo de fórmula (assumindo que o valor está na célula A2)
USDdólarescentavos=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
GBPlibraspence=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«pounds»),«satang»,«pence»))
EUReuroscentavos=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«euros»),«satang»,«cents»))
MYRringgitsen=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().
  • O resultado depende fortemente da precisão na formatação da função BAHTTEXT().
  • Este método é ideal para moedas que, tal como o Baht tailandês, têm uma unidade principal e uma subunidade (por exemplo, dólares e centavos). Não é recomendado para moedas que não sigam uma estrutura monetária semelhante.

Método 2: Utilizar função definida pelo utilizador em VBA

Nesta secção, aprenderá a utilizar uma Função Definida pelo Utilizador (UDF) em VBA para converter valores numéricos em palavras monetárias em inglês — configurada por defeito para Dólares dos EUA (USD).

Passo 1: Inserir código VBA

  1. Abra a folha de cálculo onde pretende usar esta funcionalidade.
  2. Prima «Alt» + «F11» para abrir a janela do 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
    Uma captura de ecrã que mostra o editor de código
  4. Prima «Alt» + «Q» para voltar à folha de cálculo.

Passo 2: Aplicar a função

  1. Numa célula, introduza a fórmula abaixo e prima «Enter».
    =SpellNumberToEnglish(A2)
  2. Depois, arraste a alça de preenchimento para aplicar às outras linhas conforme necessário. Os seus números serão agora escritos por extenso, como:
    Uma captura de ecrã que mostra a função definida pelo utilizador e os resultados

Adaptar para outras moedas:

A função apresenta valores em «Dólar(es)» e «Centavo(s)», codificados exclusivamente para USD. Caso pretenda converter números noutras moedas, como a «Libra Esterlina», terá de alterar manualmente as unidades principais e secundárias nas seguintes linhas de código.

Uma captura de ecrã que mostra como alterar os códigos para adaptar a outras moedas

Guardar o livro como ficheiro com macros ativadas

Por defeito, as funções VBA não serão mantidas a menos que o livro seja guardado como um livro com macros ativadas:

  1. Prima «Ctrl» + «S» para guardar.
  2. E selecione o botão «Voltar atrás» na mensagem pop-up sobre macros.
    Nota: Se a mensagem pop-up apresentar apenas «Sim», «Não» e «Ajuda», clique em «Não».
    Uma captura de ecrã que mostra como alterar os códigos para adaptar a outras moedas
  3. Na janela «Guardar Como».
    1. Escolha uma localização para guardar.
    2. Selecione «Livro do Excel com macros ativadas (*.xlsm)» na lista suspensa «Especificar formato de salvamento».
    3. Clique em «Guardar».
      Uma captura de ecrã que mostra como alterar os códigos para adaptar a outras moedas

Limitações da Função VBA SpellNumberToEnglish

Sem suporte para múltiplos idiomas
  • Esta função apresenta resultados exclusivamente em inglês.
  • Não suporta outros idiomas (por exemplo, francês ou alemão) nem lida com estruturas monetárias em que a unidade monetária precede o valor numérico (como em «Rupees One Hundred» no inglês indiano).
Não guardado no formato padrão Arquivos do Excel
  • Se não guardar o livro como um livro com macros ativadas (.xlsm), a função será perdida ao fechar o Excel.
  • Se for guardado como um ficheiro .xlsx normal, todo o código VBA será eliminado.
Aviso de segurança de macros quando partilhado
  • Ao enviar o ficheiro com macros ativadas para outras pessoas, estas receberão um aviso de segurança – «As macros foram desativadas» – ao abri-lo.
  • Alguns utilizadores podem hesitar em ativar as macros por receio de riscos de segurança e optar por não utilizar o ficheiro.
Requer conhecimentos de VBA para personalização
  • Quaisquer alterações aos termos ou à formatação monetária exigem a edição manual do código VBA.
  • Não é a opção ideal para utilizadores menos familiarizados com macros ou programação.

Método 3: Utilizar Kutools para Excel (sem fórmulas nem VBA)

Se instalar o «Kutools para Excel», aproveite a sua funcionalidade «Converter em Palavras» para transformar números em inglês — quer no formato monetário, quer no simples — além de dezenas de outros idiomas e moedas, como EUR, GBP, JPY, entre outros.

Se procura uma solução sem código, fácil de usar e versátil para converter Converter em Palavras no Excel, Kutools para Excel oferece uma funcionalidade dedicada «Converter em 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 monetário ou palavras simples (por exemplo, «One Hundred Twenty-Three» em vez de «One Hundred Twenty-Three Dollars»)

Passos para utilizar:

  1. Selecione as células que contêm os números que deseja converter.
  2. Selecione «Kutools» > «Conteúdo» > «Converter em Palavras».
  3. Na caixa de diálogo «Números para Palavras Monetárias», terá de:
    1. Escolha o idioma e o estilo monetário pretendido (por exemplo, Inglês – Estados Unidos para USD)
    2. Clique em «OK».
      Uma captura de ecrã que mostra a caixa de diálogo de números para palavras monetárias

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

Os números selecionados serão agora convertidos nas respetivas palavras monetárias, de acordo com as suas definições.

Kutools para Excel– Potencie o Excel com mais de 300 ferramentas essenciais, tornando o seu trabalho mais rápido e fácil, e aproveite as funcionalidades de IA para um processamento de dados mais inteligente e uma maior produtividade.Obtenha Já


Operação inversa: Converter palavras monetárias em números

Se tiver uma lista de montantes monetários escritos por extenso em inglês, como:

«Cento e vinte e três dólares e quarenta e cinco cêntimos»

e pretender convertê-los em números reais no Excel (por exemplo, 123,45), pode utilizar uma Função Definida pelo Utilizador (UDF) personalizada em VBA da seguinte forma.

Passo 1: Abrir o Editor VBA e inserir o código VBA

  1. Abra a sua pasta de trabalho do Excel.
  2. Prima «Alt» + «F11» para abrir o editor do Microsoft Visual Basic for Applications (VBA).
  3. No editor do VBA, clique em «Inserir» > «Módulo».
  4. Copie e cole o seguinte código VBA na janela em branco do módulo:
    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: Aplicar a função na sua folha

  1. Prima «Alt» + «Q» para voltar ao Excel.
  2. Numa célula vazia, introduza esta fórmula e prima «Enter». Depois, arraste a «Alça de Preenchimento» para baixo para obter os restantes resultados.
    =WordsToNumber(A2)
    Uma captura de ecrã que mostra como converter palavras em números

Conclusão

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

  • Os utilizadores do Microsoft 365 podem aproveitar funções modernas incorporadas, como a TRANSLATE, para converter valores monetários em palavras em inglês através de fórmulas — especialmente indicado para moedas que seguem uma estrutura de «unidade principal + subunidade».
  • As funções definidas pelo utilizador em VBA oferecem maior flexibilidade, quer para converter valores em palavras, quer para reverter montantes por extenso em valores numéricos. Contudo, implicam preocupações de segurança associadas às macros e são mais adequadas a utilizadores com experiência em programação.
  • O Kutools para Excel oferece a solução mais fácil, multilingue e repleta de funcionalidades — sem necessidade de fórmulas ou programação, abrangendo dezenas de moedas e idiomas.
  • Se precisar de converter palavras em números, a solução VBA preenche eficazmente essa lacuna, embora possa exigir alguma limpeza (por exemplo, remover vírgulas) para garantir resultados precisos.

Seja na preparação de documentos financeiros, na automatização da impressão de cheques ou simplesmente na melhoria da apresentação dos dados, escolher o método certo permite-lhe obter resultados profissionais e precisos.


As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos