Hvordan konvertere tall raskt til engelske ord i Excel?
Hvis du har en kolonne med numeriske verdier i et regneark, og nå må du sette dem sammen til de tilsvarende engelske ordene eller engelske valutaordene som vist nedenfor. Her vil jeg snakke om hvordan du endrer tallene til engelske ord raskt og enkelt.
Konverter tall til engelske ord med brukerdefinert funksjon
Konverter tall til valutaord med brukerdefinert funksjon
Konverter tall til valutaord med en nyttig funksjon
Konverter tall til engelske ord med brukerdefinert funksjon
Det er ingen funksjoner eller formler som kan hjelpe deg med å løse denne oppgaven direkte i Excel, men du kan opprette en brukerdefinert funksjon for å fullføre den. Vennligst gjør med følgende trinn:
1. Hold nede ALT + F11 tastene, og den åpner Microsoft Visual Basic for Applications-vinduet.
2. Klikk innfelt > Moduler, og lim inn følgende kode i Modulvindu.
Function NumberstoWords(ByVal MyNumber)
'Update by Extendoffice
Dim xStr As String
Dim xFNum As Integer
Dim xStrPoint
Dim xStrNumber
Dim xPoint As String
Dim xNumber As String
Dim xP() As Variant
Dim xDP
Dim xCnt As Integer
Dim xResult, xT As String
Dim xLen As Integer
On Error Resume Next
xP = Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " ", " ", " ")
xNumber = Trim(Str(MyNumber))
xDP = InStr(xNumber, ".")
xPoint = ""
xStrNumber = ""
If xDP > 0 Then
xPoint = " point "
xStr = Mid(xNumber, xDP + 1)
xStrPoint = Left(xStr, Len(xNumber) - xDP)
For xFNum = 1 To Len(xStrPoint)
xStr = Mid(xStrPoint, xFNum, 1)
xPoint = xPoint & GetDigits(xStr) & " "
Next xFNum
xNumber = Trim(Left(xNumber, xDP - 1))
End If
xCnt = 0
xResult = ""
xT = ""
xLen = 0
xLen = Int(Len(Str(xNumber)) / 3)
If (Len(Str(xNumber)) Mod 3) = 0 Then xLen = xLen - 1
Do While xNumber <> ""
If xLen = xCnt Then
xT = GetHundredsDigits(Right(xNumber, 3), False)
Else
If xCnt = 0 Then
xT = GetHundredsDigits(Right(xNumber, 3), True)
Else
xT = GetHundredsDigits(Right(xNumber, 3), False)
End If
End If
If xT <> "" Then
xResult = xT & xP(xCnt) & xResult
End If
If Len(xNumber) > 3 Then
xNumber = Left(xNumber, Len(xNumber) - 3)
Else
xNumber = ""
End If
xCnt = xCnt + 1
Loop
xResult = xResult & xPoint
NumberstoWords = xResult
End Function
Function GetHundredsDigits(xHDgt, xB As Boolean)
Dim xRStr As String
Dim xStrNum As String
Dim xStr As String
Dim xI As Integer
Dim xBB As Boolean
xStrNum = xHDgt
xRStr = ""
On Error Resume Next
xBB = True
If Val(xStrNum) = 0 Then Exit Function
xStrNum = Right("000" & xStrNum, 3)
xStr = Mid(xStrNum, 1, 1)
If xStr <> "0" Then
xRStr = GetDigits(Mid(xStrNum, 1, 1)) & "Hundred "
Else
If xB Then
xRStr = "and "
xBB = False
Else
xRStr = " "
xBB = False
End If
End If
If Mid(xStrNum, 2, 2) <> "00" Then
xRStr = xRStr & GetTenDigits(Mid(xStrNum, 2, 2), xBB)
End If
GetHundredsDigits = xRStr
End Function
Function GetTenDigits(xTDgt, xB As Boolean)
Dim xStr As String
Dim xI As Integer
Dim xArr_1() As Variant
Dim xArr_2() As Variant
Dim xT As Boolean
xArr_1 = Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen ")
xArr_2 = Array("", "", "Twenty ", "Thirty ", "Forty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety ")
xStr = ""
xT = True
On Error Resume Next
If Val(Left(xTDgt, 1)) = 1 Then
xI = Val(Right(xTDgt, 1))
If xB Then xStr = "and "
xStr = xStr & xArr_1(xI)
Else
xI = Val(Left(xTDgt, 1))
If Val(Left(xTDgt, 1)) > 1 Then
If xB Then xStr = "and "
xStr = xStr & xArr_2(Val(Left(xTDgt, 1)))
xT = False
End If
If xStr = "" Then
If xB Then
xStr = "and "
End If
End If
If Right(xTDgt, 1) <> "0" Then
xStr = xStr & GetDigits(Right(xTDgt, 1))
End If
End If
GetTenDigits = xStr
End Function
Function GetDigits(xDgt)
Dim xStr As String
Dim xArr_1() As Variant
xArr_1 = Array("Zero ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine ")
xStr = ""
On Error Resume Next
xStr = xArr_1(Val(xDgt))
GetDigits = xStr
End Function
3. Lagre og lukk denne koden og gå tilbake regnearket, i en tom celle, skriv inn denne formelen =Tallord(A2)( A2 er cellen du vil konvertere tallet til et engelsk ord), se skjermbilde:
4. Trykk deretter på Enter tasten, og velg celle C2 og dra deretter fyllhåndtaket til området du vil inneholde denne formelen. Alle de numeriske verdiene har blitt konvertert til de tilsvarende engelske ordene.
Merknader: Denne koden fungerer bare for heltall, men gjelder ikke for desimaltall.
Konverter tall til valutaord med brukerdefinert funksjon
Hvis du vil konvertere tallene til engelske valutaord, bør du bruke VBA-koden nedenfor.
1. Hold nede ALT + F11 tastene, og den åpner Microsoft Visual Basic for Applications-vinduet.
2. Klikk innfelt > Moduler, og lim inn følgende kode i Modulvindu.
Function SpellNumberToEnglish(ByVal pNumber)
'Update by Extendoffice
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. Lagre denne koden og gå tilbake regnearket, i en tom celle, skriv inn denne formelen =SpellNumberToEnglish(A2)( A2 er cellen du vil konvertere tallet til et engelsk valutaord), og dra deretter fyllhåndtaket ned til cellene du vil bruke denne formelen, alle tallene er stavet til engelske valutaord, se skjermbilde:
Konverter tall til valutaord med en nyttig funksjon
Koden ovenfor er noe plagsom for Excel-nybegynnere, her vil jeg introdusere en nyttig funksjon, Kutools for Excel's Tall til ord, med dette verktøyet kan du raskt stave tallene til engelske ord eller valutaord.
Tips:Å bruke dette Tall til ord funksjonen, for det første bør du laste ned Kutools for Excel, og bruk deretter funksjonen raskt og enkelt.
Etter å ha installert Kutools for Excel, vennligst gjør som dette:
1. Velg listen over tall du vil konvertere, og klikk deretter Kutools > Innhold > Tall til ord, se skjermbilde:
2. på Tall til valutaord dialogboks, sjekk Engelsk alternativ fra språk listeboksen, og klikk deretter Ok knappen, vil du se at alle tallene er stavet i engelske valutaord:
Tips: Hvis du vil ha de engelske ordene, vennligst sjekk Ikke konvertert til valuta avmerkingsboksen fra alternativer delen, se skjermbilder:
Klikk for å laste ned Kutools for Excel og gratis prøveversjon nå!
Beste kontorproduktivitetsverktøy
Utvid Excel-ferdighetene dine med Kutools for Excel, og opplev effektivitet som aldri før. Kutools for Excel tilbyr over 300 avanserte funksjoner for å øke produktiviteten og spare tid. Klikk her for å få funksjonen du trenger mest...
Office Tab bringer fanebasert grensesnitt til Office, og gjør arbeidet ditt mye enklere
- Aktiver faneredigering og lesing i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
- Åpne og opprett flere dokumenter i nye faner i samme vindu, i stedet for i nye vinduer.
- Øker produktiviteten din med 50 %, og reduserer hundrevis av museklikk for deg hver dag!