Infelizmente, o Excel não possui uma fórmula nativa para escrever números por extenso. No entanto, é possível utilizar uma fórmula personalizada para fazer esta conversão.
Uma maneira de fazer isso é utilizando um script em VBA (Visual Basic for Applications) que crie a fórmula personalizada. Para criar essa fórmula, siga os seguintes passos:
Abra uma nova planilha do Excel
Pressione Alt + F11 para abrir o Editor do Visual Basic
Clique em Inserir > Módulo para criar um novo módulo
Copie e cole o seguinte código na janela do módulo:
Function NumeroPorExtenso(ByVal Numero As Double) As String
' Função para escrever um número por extenso
Dim Unidades() As Variant
Dim Dezenas() As Variant
Dim Centenas() As Variant
Dim Milhares() As Variant
Dim Milhoes() As Variant
Dim Bilhoes() As Variant
Dim Trilhoes() As Variant
Dim Quadrilhoes() As Variant
Dim Quintilhoes() As Variant
Dim MilharesDeQuintilhoes() As Variant
Dim DezenasDeQuintilhoes() As Variant
Dim CentenasDeQuintilhoes() As Variant
Dim DezenasDeMilharesDeQuintilhoes() As Variant
Dim MilharesDeMilharesDeQuintilhoes() As Variant
Dim Valor As String
Dim Resultado As String
' Definir os valores dos arrays
Unidades = Array("", "um", "dois", "três", "quatro", "cinco", "seis", "sete", "oito", "nove")
Dezenas = Array("", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove")
Centenas = Array("", "cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos")
Milhares = Array("", "mil", "dois mil", "três mil", "quatro mil", "cinco mil", "seis mil", "sete mil", "oito mil", "nove mil")
Milhoes = Array("", "um milhão", "dois milhões", "três milhões", "quatro milhões", "cinco milhões", "seis milhões", "sete milhões", "oito milhões", "nove milhões")
Bilhoes = Array("", "um bilhão", "dois bilhões", "três bilhões", "quatro bilhões", "cinco bilhões", "seis bilhões", "sete bilhões", "oito bilhões", "nove bilhões")
Trilhoes = Array("", "um trilhão", "dois trilhões", "três trilhões", "quatro trilhões", "cinco trilhões", "seis trilhões", "sete trilhões", "oito trilhões", "nove trilhões")
Quadrilhoes = Array("", "um quadrilhão", "dois quadrilhões", "três quadrilhões", "quatro quadrilhões", "cinco quadrilhões", "seis quadrilhões", "sete quadrilhões", "oito quadrilhões", "nove quadrilhões")
Quintilhoes = Array("", "um quintilhão", "dois quintilhões", "três quintilhões", "quatro quintilhões", "cinco quintilhões", "seis quintilhões", "sete quintilhões", "oito quintilhões", "nove quintilhões")
MilharesDeQuintilhoes = Array("dez", "onze", "doze", "treze", "quatorze", "quinze", "dezesseis", "dezessete", "dezoito", "dezenove")
DezenasDeQuintilhoes = Array("vinte", "trinta", "quarenta", "cinquenta", "sessenta", "setenta", "oitenta", "noventa")
CentenasDeQuintilhoes = Array("cento", "duzentos", "trezentos", "quatrocentos", "quinhentos", "seiscentos", "setecentos", "oitocentos", "novecentos")
DezenasDeMilharesDeQuintilhoes = Array("dez mil", "vinte mil", "trinta mil", "quarenta mil", "cinquenta mil", "sessenta mil", "setenta mil", "oitenta mil", "noventa mil")
MilharesDeMilharesDeQuintilhoes = Array("cem mil", "duzentos mil", "trezentos mil", "quatrocentos mil", "quinhentos mil", "seiscentos mil", "setecentos mil", "oitocentos mil", "novecentos mil")
' Separar o valor em blocos de três dígitos
Valor = Format(Numero, "000000000000000")
' Converter cada bloco
If Left(Valor, 1) <> "0" Then
Resultado = Resultado & Centenas(Val(Left(Valor, 1))) & " "
End If
If Mid(Valor, 2, 1) <> "0" Then
If Mid(Valor, 2, 1) <> "1" Then
Resultado = Resultado & DezenasDeQuintilhoes(Val(Mid(Valor, 2, 1)) - 2) & " "
Else
Resultado = Resultado & MilharesDeQuintilhoes(Val(Mid(Valor, 2, 2)) Mod 10) & " "
End If
End If
If Right(Valor, 1) <> "0" Then
If Mid(Valor, 2, 1) <> "1" Then
Resultado = Resultado & Unidades(Val(Right(Valor, 1))) & " "
End If
End If
' Adicionar o nome do bloco (mil, milhão, bilhão, etc.)
Select Case Len(Valor)
Case 10 To 12
Resultado = Resultado & "bilhão "
Case 13 To 15
Resultado = Resultado & "trilhão "
Case 16 To 18
Resultado = Resultado & "quadrilhão "
Case 19 To 21
Resultado = Resultado