Converter números em palavras no Excel – Um guia abrangente
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.

- Utilizar novas funções incorporadas (apenas Microsoft 365)
- Utilizar função definida pelo utilizador em VBA
- Utilizar Kutools para Excel com alguns cliques
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.

- 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»))
- Prima «Enter» e arraste a «alça de preenchimento» para baixo para aplicar às restantes linhas.

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:
| Moeda | Substituição da unidade principal | Substituição da unidade secundária | Exemplo de fórmula (assumindo que o valor está na célula A2) |
|---|---|---|---|
| USD | dólares | centavos | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»)) |
| GBP | libras | pence | =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),«th»,«en»)),«baht»,«pounds»),«satang»,«pence»)) |
| EUR | euros | centavos | =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().
- 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
- Abra a folha de cálculo onde pretende usar esta funcionalidade.
- Prima «Alt» + «F11» para abrir a janela do Microsoft Visual Basic for Applications.
- 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
- Prima «Alt» + «Q» para voltar à folha de cálculo.
Passo 2: Aplicar a função
- Numa célula, introduza a fórmula abaixo e prima «Enter».=SpellNumberToEnglish(A2)
- 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:

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.

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:
- Prima «Ctrl» + «S» para guardar.
- 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».

- Na janela «Guardar Como».
- Escolha uma localização para guardar.
- Selecione «Livro do Excel com macros ativadas (*.xlsm)» na lista suspensa «Especificar formato de salvamento».
- Clique em «Guardar».

Limitações da Função VBA SpellNumberToEnglish
- 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).
- 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.
- 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.
- 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:
- Selecione as células que contêm os números que deseja converter.
- Selecione «Kutools» > «Conteúdo» > «Converter em Palavras».
- Na caixa de diálogo «Números para Palavras Monetárias», terá de:
- Escolha o idioma e o estilo monetário pretendido (por exemplo, Inglês – Estados Unidos para USD)
- Clique em «OK».

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:
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
- Abra a sua pasta de trabalho do Excel.
- Prima «Alt» + «F11» para abrir o editor do Microsoft Visual Basic for Applications (VBA).
- No editor do VBA, clique em «Inserir» > «Módulo».
- 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
- Prima «Alt» + «Q» para voltar ao Excel.
- 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)

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
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.
- 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






