Hur stavar eller konverterar siffror till engelska ord i Excel?
Om du antar att du har många prisbeloppsnummer, och nu måste du konvertera eller stava ut dem till textsträngar. Till exempel konvertera $123.55 till de engelska orden hundra tjugotre dollar och femtiofem cent. I Excel finns det ingen effektiv möjlighet att lösa detta problem utan att använda den långa och komplexa VBA-koden. I den här artikeln presenterar jag några metoder för att hantera det.
Stava ut eller konvertera nummer till engelska ord med VBA-kod
Stava ut eller konvertera siffror till engelska ord med Kutools för Excel
Stava ut eller konvertera nummer till engelska ord med VBA-kod
Följande långa VBA-kod kan hjälpa dig att stava ut siffror till textsträngar. Gör enligt följande:
1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationer fönster.
2. Klicka Insert > Modulernaoch klistra in följande makro i Modulfönster.
VBA: Stava ut valutanummer till engelska ord i Excel
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
Dim Dollars, Cents
arr = Array("", "", " Thousand ", " Million ", " Billion ", " Trillion ")
pNumber = Trim(Str(pNumber))
xDecimal = InStr(pNumber, ".")
If xDecimal > 0 Then
Cents = GetTens(Left(Mid(pNumber, xDecimal + 1) & "00", 2))
pNumber = Trim(Left(pNumber, xDecimal - 1))
End If
xIndex = 1
Do While pNumber <> ""
xHundred = ""
xValue = Right(pNumber, 3)
If Val(xValue) <> 0 Then
xValue = Right("000" & xValue, 3)
If Mid(xValue, 1, 1) <> "0" Then
xHundred = GetDigit(Mid(xValue, 1, 1)) & " Hundred "
End If
If Mid(xValue, 2, 1) <> "0" Then
xHundred = xHundred & GetTens(Mid(xValue, 2))
Else
xHundred = xHundred & GetDigit(Mid(xValue, 3))
End If
End If
If xHundred <> "" Then
Dollars = xHundred & arr(xIndex) & Dollars
End If
If Len(pNumber) > 3 Then
pNumber = Left(pNumber, Len(pNumber) - 3)
Else
pNumber = ""
End If
xIndex = xIndex + 1
Loop
Select Case Dollars
Case ""
Dollars = "No Dollars"
Case "One"
Dollars = "One Dollar"
Case Else
Dollars = Dollars & " Dollars"
End Select
Select Case Cents
Case ""
Cents = " and No Cents"
Case "One"
Cents = " and One Cent"
Case Else
Cents = " and " & Cents & " Cents"
End Select
SpellNumberToEnglish = Dollars & Cents
End Function
Function GetTens(pTens)
Dim Result As String
Result = ""
If Val(Left(pTens, 1)) = 1 Then
Select Case Val(pTens)
Case 10: Result = "Ten"
Case 11: Result = "Eleven"
Case 12: Result = "Twelve"
Case 13: Result = "Thirteen"
Case 14: Result = "Fourteen"
Case 15: Result = "Fifteen"
Case 16: Result = "Sixteen"
Case 17: Result = "Seventeen"
Case 18: Result = "Eighteen"
Case 19: Result = "Nineteen"
Case Else
End Select
Else
Select Case Val(Left(pTens, 1))
Case 2: Result = "Twenty "
Case 3: Result = "Thirty "
Case 4: Result = "Forty "
Case 5: Result = "Fifty "
Case 6: Result = "Sixty "
Case 7: Result = "Seventy "
Case 8: Result = "Eighty "
Case 9: Result = "Ninety "
Case Else
End Select
Result = Result & GetDigit(Right(pTens, 1))
End If
GetTens = Result
End Function
Function GetDigit(pDigit)
Select Case Val(pDigit)
Case 1: GetDigit = "One"
Case 2: GetDigit = "Two"
Case 3: GetDigit = "Three"
Case 4: GetDigit = "Four"
Case 5: GetDigit = "Five"
Case 6: GetDigit = "Six"
Case 7: GetDigit = "Seven"
Case 8: GetDigit = "Eight"
Case 9: GetDigit = "Nine"
Case Else: GetDigit = ""
End Select
End Function
3. Spara sedan koden och återgå till kalkylbladet, i intilliggande Cell B2, ange formeln = SpellNumberToEnglish (A1), se skärmdump:
4. Tryck sedan på ange och välj Cell B2 och dra sedan fyllningshandtaget över till det intervall som innehåller den här formeln efter behov. Och alla valutanummer har stavats till engelska ord. Se skärmdump:
Anmärkningar: Eftersom de är formler, vänligen klistra in som värden när du behöver kopiera och klistra in dem.
Stava ut eller konvertera siffror till engelska ord med Kutools för Excel
Kanske ovanstående långa kod kan göra dig arg, snälla oroa dig inte, här kan jag ge dig ett enkelt och snabbt sätt att lösa det. Med Kutools för ExcelÄr Siffror till ord funktion kan du snabbt och bekvämt konvertera siffrorna till textsträngar.
Kutools för Excel- Innehåller mer än 300 praktiska verktyg för Excel. Fullversion gratis provperiod 30 dagar, inget kreditkort krävs! Hämta den nu
1. Välj intervallnummer som du vill stava ut och klicka på Kutools > Innehåll > Siffror till ord.
2. I dialogrutan poppar ut väljer du Engelska från Språk. Och du kan förhandsgranska resultaten från höger Förhandsvisning Ruta. Se skärmdump:
3. Klicka sedan Ok or Ansök. Och alla prisbeloppsnummer har konverterats till textsträngar i det ursprungliga intervallet.
Anmärkningar: Om du bara vill konvertera nummer till engelska ord (inte valuta), kontrollera Omvandlas inte till valuta kryssrutan.
Denna fantastiska funktion i Siffror till ord kan enkelt översätta valutanummer till valutatexten på engelska eller kinesiska, till exempel översätta 32.01 till "Trettiotvå dollar och en cent" eller "叁拾 贰元 零 壹 分". Ha en gratis testversion!
Demo: Stava ut valutanummer till engelska ord
Bästa kontorsproduktivitetsverktyg
Uppgradera dina Excel-färdigheter med Kutools för Excel och upplev effektivitet som aldrig förr. Kutools för Excel erbjuder över 300 avancerade funktioner för att öka produktiviteten och spara tid. Klicka här för att få den funktion du behöver mest...
Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare
- Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
- Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
- Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!