Você não pode converter diretamente números em palavras soletradas no Excel usando uma função interna. No entanto, você pode conseguir isso usando uma combinação de fórmulas e código VBA:
Usando fórmulas (limitado a números menores): 1.
Número para texto: Use a função `text` para converter o número em texto. Por exemplo, `=texto (10," 0 ")` retornará "10".
2.
Tabela de pesquisa: Crie uma tabela de pesquisa contendo números e suas grafias correspondentes. Esta tabela precisará incluir todos os números que você deseja converter.
3.
vlookup: Use a função `vlookup` para procurar o número na tabela de pesquisa e retornar a ortografia correspondente. Por exemplo, `=vlookup (A1, Tabela1,2, false)` procurará o valor na célula A1 na tabela "Tabela1" e retornará o valor na segunda coluna.
Limitações da abordagem de fórmula: *
faixa limitada: Este método funciona apenas para números dentro do intervalo da sua tabela de pesquisa.
*
Configuração do complexo: Criar e manter uma grande tabela de pesquisa para todos os números possíveis pode ser tediosa.
Usando o código VBA (mais flexível): 1.
Abra o editor VBA: Pressione `alt + f11` para abrir o editor do Visual Basic.
2.
Inserir módulo: Insira um novo módulo clicando em "Inserir"> "Módulo".
3.
Cole o código: Cole o seguinte código no módulo:
`` `VBA
Funcione spellNumber (Byval MyNumber como duplo) como string
Dim centenas como corda, dezenas como string, uma como string
Lugar escuro como inteiro
'Lidar com números negativos
Se myNumber <0 então
SpellNumber ="negativo" e spellNumber (abs (myNumber))
Função de saída
Final se
'Manuseie zero
Se myNumber =0 então
SpellNumber ="zero"
Função de saída
Final se
'Lidar com números maiores que 999.999.999
Se myNumber> 999999999 então
SpellNumber ="Número muito grande"
Função de saída
Final se
'Crie matrizes para grafias numéricas
Dim OneRray () como string
OneRray =Split ("Zero, um, dois, três, quatro, cinco, seis, sete, oito, nove", "")
Dim Teensarray () como string
Teensarray =Split ("dez, onze, doze, treze, quatorze, quinze, dezesseis, dezessete, dezoito, dezenove", ",")
Dim tensarray () como string
Tensarray =split ("vinte, trinta, quarenta, cinquenta, sessenta, setenta, oitenta, noventa", ",")
'Quebre o número em seus valores de lugar
Lugar =1
Centenas =""
TENS =""
ONS =""
Faça enquanto myNumber> 0
Selecione o local do caso
Caso 1
ONES =ONERRAY (MyNumber Mod 10)
MyNumber =int (myNumber / 10)
Caso 2
Se MyNumber Mod 10 =1 então
TENS =Teensarray (MyNumber Mod 100 - 10)
MyNumber =int (myNumber / 100)
Outro
TENS =Tensarray (MyNumber Mod 10 - 1)
MyNumber =int (myNumber / 10)
Final se
Caso 3
Centenas =OnMarray (MyNumber Mod 10) e "Cem"
MyNumber =int (myNumber / 10)
Caso 4
Se MyNumber Mod 10 =1 então
TENS =Teensarray (MyNumber Mod 100 - 10)
MyNumber =int (myNumber / 100)
Outro
TENS =Tensarray (MyNumber Mod 10 - 1)
MyNumber =int (myNumber / 10)
Final se
Centenas =OneRray (MyNumber Mod 10) e "Mil"
MyNumber =int (myNumber / 10)
Caso 5
ONES =ONERRAY (MyNumber Mod 10)
MyNumber =int (myNumber / 10)
Caso 6
Se MyNumber Mod 10 =1 então
TENS =Teensarray (MyNumber Mod 100 - 10)
MyNumber =int (myNumber / 100)
Outro
TENS =Tensarray (MyNumber Mod 10 - 1)
MyNumber =int (myNumber / 10)
Final se
Caso 7
Centenas =OnMarray (MyNumber Mod 10) e "Cem"
MyNumber =int (myNumber / 10)
Caso 8
Se MyNumber Mod 10 =1 então
TENS =Teensarray (MyNumber Mod 100 - 10)
MyNumber =int (myNumber / 100)
Outro
TENS =Tensarray (MyNumber Mod 10 - 1)
MyNumber =int (myNumber / 10)
Final se
Centenas =OneRrayRay (MyNumber Mod 10) e "Milhão"
MyNumber =int (myNumber / 10)
Final Selecione
Lugar =local + 1
Laço
'Combine os valores do local em uma única string
SpellNumber =centenas e dezenas e outras
Função final
`` `
4.
Use a função no Excel: Na sua planilha do Excel, você pode usar a função como esta:`=spellNumber (a1)`, onde A1 contém o número que você deseja converter.
Vantagens da abordagem VBA: *
números maiores: Lida com números de até 999.999.999.
*
sem tabela de pesquisa: Não há necessidade de criar e manter uma tabela de pesquisa.
Nota: O código VBA requer ativar macros no Excel.
Lembre -se de escolher a abordagem que melhor atende às suas necessidades e ao tamanho dos números que você precisa converter.