U kunt niet direct nummers converteren naar gespelde woorden in Excel met behulp van een ingebouwde functie. U kunt dit echter bereiken met behulp van een combinatie van formules en VBA -code:
Formules gebruiken (beperkt tot kleinere getallen):
1. Nummer naar tekst: Gebruik de functie `text` om het nummer naar tekst te converteren. Bijvoorbeeld, `=tekst (10," 0 ")` retourneert "10".
2. Opzoektabel: Maak een opzoektabel met getallen en hun bijbehorende spellingen. Deze tabel moet alle nummers bevatten die u wilt converteren.
3. VLOOKUP: Gebruik de functie `vlookup` om het nummer in de opzoektabel op te zoeken en de bijbehorende spelling terug te sturen. Bijvoorbeeld, `=vLookup (a1, tabel 1,2, onwaar)` zal de waarde opzoeken in cel A1 in de tabel "Tabel 1" en de waarde in de tweede kolom retourneren.
Beperkingen van formulebenadering:
* beperkt bereik: Deze methode werkt alleen voor nummers binnen het bereik van uw opzoektabel.
* complexe instelling: Het maken en onderhouden van een grote opzoektabel voor alle mogelijke nummers kan vervelend zijn.
VBA -code gebruiken (flexibeler):
1. Open de VBA -editor: Druk op `Alt + F11` om de Visual Basic Editor te openen.
2. Module invoegen: Voeg een nieuwe module in door op "Invoegen"> "Module" te klikken.
3. plak de code: Plak de volgende code in de module:
`` `vba
Functie spellingnummer (byval myNumber als dubbel) als string
Dim honderden als string, tientallen als string, die als string
Vage plaats als gehele getal
'Behandel negatieve getallen
Als MyNumber <0 dan
SpellNumber ="Negative" &SpellNumber (ABS (MYNUMBER))
Exit -functie
Eindig als
'Zul afhandelen
Als MYNUMBER =0 dan
SpellNumber ="Zero"
Exit -functie
Eindig als
'Nummers verwerken groter dan 999.999.999
Als MYNUMBER> 999999999 dan
SpellNumber ="Number Too Large"
Exit -functie
Eindig als
'Maak arrays voor nummer spellingen
Dim oneSarray () als string
OneArray =split ("Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine", ",")
Dim teSarray () als string
TEENSARRAY =Split ("Tien, elf, twaalf, dertien, veertien, vijftien, zestien, zeventien, achttien, negentien", ",")
Dim tensarray () als string
Tensarray =split ("twintig, dertig, veertig, vijftig, zestig, zeventig, tachtig, negentig", ",")
'Verspreek het nummer in zijn plaatswaarden
Plaats =1
Honderden =""
Tens =""
Ones =""
Doe terwijl MyNumber> 0
Selecteer Case Place
Geval 1
Ones =onesArray (MyNumber Mod 10)
MYNUMBER =INT (MYNUMBER / 10)
Case 2
Als MyNumber Mod 10 =1 dan
TENS =TEENSARRAY (MYNUMBER MOD 100 - 10)
MYNUMBER =INT (MYNUMBER / 100)
Anders
Tientallen =tensarray (myNumber Mod 10 - 1)
MYNUMBER =INT (MYNUMBER / 10)
Eindig als
Geval 3
Honderden =OnesArray (MyNumber Mod 10) &"Hundred"
MYNUMBER =INT (MYNUMBER / 10)
Geval 4
Als MyNumber Mod 10 =1 dan
TENS =TEENSARRAY (MYNUMBER MOD 100 - 10)
MYNUMBER =INT (MYNUMBER / 100)
Anders
Tientallen =tensarray (myNumber Mod 10 - 1)
MYNUMBER =INT (MYNUMBER / 10)
Eindig als
Honderden =OnesArray (MyNumber Mod 10) &"Thousand"
MYNUMBER =INT (MYNUMBER / 10)
Geval 5
Ones =onesArray (MyNumber Mod 10)
MYNUMBER =INT (MYNUMBER / 10)
Geval 6
Als MyNumber Mod 10 =1 dan
TENS =TEENSARRAY (MYNUMBER MOD 100 - 10)
MYNUMBER =INT (MYNUMBER / 100)
Anders
Tientallen =tensarray (myNumber Mod 10 - 1)
MYNUMBER =INT (MYNUMBER / 10)
Eindig als
Geval 7
Honderden =OnesArray (MyNumber Mod 10) &"Hundred"
MYNUMBER =INT (MYNUMBER / 10)
Geval 8
Als MyNumber Mod 10 =1 dan
TENS =TEENSARRAY (MYNUMBER MOD 100 - 10)
MYNUMBER =INT (MYNUMBER / 100)
Anders
Tientallen =tensarray (myNumber Mod 10 - 1)
MYNUMBER =INT (MYNUMBER / 10)
Eindig als
Honderden =OnesArray (MyNumber Mod 10) &"Million"
MYNUMBER =INT (MYNUMBER / 10)
Einde selecteren
Plaats =plaats + 1
Lus
'Combineer de plaatswaarden in een enkele string
SpellNumber =Honderden &Tens &ones
Eindfunctie
`` `
4. Gebruik de functie in Excel: In uw Excel -blad kunt u de functie als volgt gebruiken:`=SpellNumber (A1)`, waarbij A1 het nummer bevat dat u wilt converteren.
Voordelen van VBA -aanpak:
* grotere getallen: Behandelt nummers tot 999.999.999.
* Geen opzoektabel: Het is niet nodig om een opzoektabel te maken en te onderhouden.
Opmerking: VBA -code vereist het inschakelen van macro's in Excel.
Vergeet niet om de aanpak te kiezen die het beste bij uw behoeften past en de grootte van de nummers die u moet converteren. |