Du kan inte direkt konvertera siffror till stavade ord i Excel med en inbyggd funktion. Du kan dock uppnå detta med hjälp av en kombination av formler och VBA -kod:
med formler (begränsat till mindre antal):
1. Nummer till text: Använd funktionen "Text" för att konvertera numret till text. Till exempel kommer `=text (10," 0 ")" att returnera "10".
2. Sökbord: Skapa en uppslagstabell som innehåller nummer och motsvarande stavningar. Denna tabell måste inkludera alla siffror du vill konvertera.
3. vlookup: Använd funktionen "Vlookup" för att slå upp numret i uppslagstabellen och returnera motsvarande stavning. Till exempel kommer `=Vlookup (A1, tabell1,2, falsk)` att leta upp värdet i cell A1 i tabellen "Tabell1" och returnera värdet i den andra kolumnen.
Begränsningar av formelmetod:
* Limited Range: Den här metoden fungerar bara för siffror inom utslagstabellen.
* Komplex installation: Att skapa och upprätthålla en stor uppslagstabell för alla möjliga siffror kan vara tråkiga.
med VBA -kod (mer flexibel):
1. Öppna VBA -redaktören: Tryck på `Alt + F11` för att öppna Visual Basic Editor.
2. Infoga modul: Sätt i en ny modul genom att klicka på "Infoga"> "Modul".
3. klistra koden: Klistra in följande kod i modulen:
`` VBA
Funktion SpellNumber (ByVal MyNumber som dubbel) som sträng
Dim hundratals som sträng, tiotal som sträng, som sträng
Dim Place As Heltal
'Hantera negativa siffror
Om MyNumber <0 då
SpellNumber ="Negative" &SpellNumber (ABS (MyNumber))
Utgångsfunktion
Slut om
'Hantera noll
Om MyNumber =0 då
Spellnumber ="noll"
Utgångsfunktion
Slut om
'Hantera siffror större än 999.999.999
Om MyNumber> 999999999 då
Spellnumber ="nummer för stort"
Utgångsfunktion
Slut om
'Skapa matriser för nummer stavningar
Dim oesArray () som sträng
OnesArray =split ("noll, en, två, tre, fyra, fem, sex, sju, åtta, nio", ",")
Dim TeensArray () som sträng
TeensArray =split ("tio, elva, tolv, tretton, fjorton, femton, sexton, sjutton, arton, nitton", ",")
Dim TensArray () som sträng
TensArray =split ("tjugo, trettio, fyrtio, femtio, sextio, sjuttio, åttio, nittio", ",")
'Bryt ner numret i sina platsvärden
Plats =1
Hundratals =""
Tiotals =""
Ones =""
Gör medan MyNumber> 0
Välj Case Place
Fall 1
Ones =OneSArray (MyNumber Mod 10)
MyNumber =int (MyNumber / 10)
Fall 2
Om MyNumber Mod 10 =1 då
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Annan
TENS =TensArray (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slut om
Fall 3
Hundratals =OnesArray (MyNumber Mod 10) &"Hundrat"
MyNumber =int (MyNumber / 10)
Fall 4
Om MyNumber Mod 10 =1 då
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Annan
TENS =TensArray (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slut om
Hundratals =OnesArray (MyNumber Mod 10) &"Tusen"
MyNumber =int (MyNumber / 10)
Fall 5
Ones =OneSArray (MyNumber Mod 10)
MyNumber =int (MyNumber / 10)
Fall 6
Om MyNumber Mod 10 =1 då
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Annan
TENS =TensArray (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slut om
Fall 7
Hundratals =OnesArray (MyNumber Mod 10) &"Hundrat"
MyNumber =int (MyNumber / 10)
Fall 8
Om MyNumber Mod 10 =1 då
TENS =TeensArray (MyNumber Mod 100 - 10)
MyNumber =int (MyNumber / 100)
Annan
TENS =TensArray (MyNumber Mod 10 - 1)
MyNumber =int (MyNumber / 10)
Slut om
Hundratals =OneSArray (MyNumber Mod 10) &"miljoner"
MyNumber =int (MyNumber / 10)
Slutval
Plats =plats + 1
Slinga
'Kombinera platsvärdena till en enda sträng
Spellnummer =hundratals &ten &ones
Slutfunktion
`` `
4. Använd funktionen i Excel: I ditt Excel -ark kan du använda funktionen så här:`=SpellNumber (A1)`, där A1 innehåller numret du vill konvertera.
Fördelar med VBA -strategi:
* Större antal: Handlar siffror upp till 999.999.999.
* Ingen uppslagstabell: Inget behov av att skapa och underhålla en uppslagstabell.
Obs: VBA -kod kräver aktivering av makron i Excel.
Kom ihåg att välja det tillvägagångssätt som bäst passar dina behov och storleken på de siffror du behöver för att konvertera.