Du kan ikke direkte konvertere tall til stavede ord i Excel ved hjelp av en innebygd funksjon. Du kan imidlertid oppnå dette ved hjelp av en kombinasjon av formler og VBA -kode:
Bruke formler (begrenset til mindre tall):
1. nummer til tekst: Bruk `teksten` -funksjonen for å konvertere nummeret til tekst. For eksempel `=tekst (10, '0") `vil returnere» 10 ".
2. oppslagstabell: Lag en oppslagstabell som inneholder tall og tilhørende stavemåter. Denne tabellen må inkludere alle tallene du vil konvertere.
3. Vlookup: Bruk funksjonen `Vlookup` for å slå opp nummeret i oppslagstabellen og returnere den tilsvarende stavemåten. For eksempel vil `=Vlookup (A1, tabell1,2, falsk)` slå opp verdien i celle A1 i tabellen "Tabell1" og returnere verdien i den andre kolonnen.
Begrensninger i formel tilnærming:
* Begrenset område: Denne metoden fungerer bare for tall innenfor området for oppslagstabellen din.
* kompleks oppsett: Å lage og vedlikeholde et stort oppslagstabell for alle mulige tall kan være kjedelig.
Bruke VBA -kode (mer fleksibel):
1. Åpne VBA -redaktøren: Trykk `ALT + F11` for å åpne Visual Basic Editor.
2. Sett inn modul: Sett inn en ny modul ved å klikke på "Sett inn"> "Modul".
3. Lim inn koden: Lim inn følgende kode i modulen:
`` VBA
Funksjon SpellNumber (ByVal Mynumber som dobbelt) som streng
Dim hundrevis som streng, titalls som streng, de som streng
Svakt sted som heltall
'Håndter negative tall
Hvis myNumber <0 da
SpellNumber ="Negativ" &SpellNumber (ABS (MyNumber))
Avslutt funksjon
Slutt hvis
'Håndter null
Hvis myNumber =0 da
SpellNumber ="Zero"
Avslutt funksjon
Slutt hvis
'Håndter tall større enn 999.999.999
Hvis Mynumber> 9999999999 da
SpellNumber ="nummer for stort"
Avslutt funksjon
Slutt hvis
'Lag matriser for tallformuleringer
Dim Onesarray () som streng
OnesArray =Split ("Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine", ",")
Dim TeensArray () som streng
TeensArray =Split ("Ten, Eleven, Twelve, Thirteen, Fourteen, Femeen, Sixteen, Sytten, atten, Nineteen", ",")
Dim Tensarray () som streng
TensArray =delt ("tjue, tretti, førti, femti, seksti, sytti, åtti, nitti", ","))
'Bryt ned antallet i stedsverdiene
Sted =1
Hundrevis =""
TENS =""
Ene =""
Gjør mens Mynumber> 0
Velg Case Place
Sak 1
Ones =OnesArray (MyNumber Mod 10)
MyNumber =int (MyNumber / 10)
Sak 2
Hvis MyNumber Mod 10 =1 da
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Ellers
TENS =TENSARRAY (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slutt hvis
Sak 3
Hundrevis =Onesarray (MyNumber Mod 10) &"Hundre"
MyNumber =int (MyNumber / 10)
Sak 4
Hvis MyNumber Mod 10 =1 da
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Ellers
TENS =TENSARRAY (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slutt hvis
Hundrevis =Onesarray (Mynumber Mod 10) &"Thousand"
MyNumber =int (MyNumber / 10)
Sak 5
Ones =OnesArray (MyNumber Mod 10)
MyNumber =int (MyNumber / 10)
Sak 6
Hvis MyNumber Mod 10 =1 da
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Ellers
TENS =TENSARRAY (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slutt hvis
Sak 7
Hundrevis =Onesarray (MyNumber Mod 10) &"Hundre"
MyNumber =int (MyNumber / 10)
Sak 8
Hvis MyNumber Mod 10 =1 da
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Ellers
TENS =TENSARRAY (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slutt hvis
Hundrevis =Onesarray (Mynumber Mod 10) &"Million"
MyNumber =int (MyNumber / 10)
Slutt velg
Sted =sted + 1
Sløyfe
'Kombiner stedsverdiene til en enkelt streng
SpellNumber =Hundrevis &Tens &Ones
Sluttfunksjon
`` `
4. Bruk funksjonen i Excel: I Excel -arket kan du bruke funksjonen slik:`=SpellNumber (A1)`, der A1 inneholder tallet du vil konvertere.
Fordeler med VBA -tilnærming:
* Større tall: Håndterer tall opp til 999.999.999.
* Ingen oppslagstabell: Ingen grunn til å opprette og vedlikeholde et oppslagstabell.
Merk: VBA -kode krever aktivering av makroer i Excel.
Husk å velge tilnærmingen som best passer dine behov og størrelsen på tallene du trenger å konvertere.