Note: The other languages of the website are Google-translated. Back to English

Hur konverterar jag snabbt siffror till engelska ord i Excel?

Om du har en kolumn med numeriska värden i ett kalkylblad och nu måste du klaga dem till motsvarande engelska ord eller engelska valutor som visas på följande skärmdump. Här kommer jag att prata om hur du ändrar siffrorna till engelska ord snabbt och enkelt.

Konvertera nummer till engelska ord med användardefinierad funktion

Konvertera nummer till valutor med användardefinierad funktion

Konvertera siffror till valutor med en användbar funktion


Konvertera nummer till engelska ord med användardefinierad funktion

Det finns inga funktioner eller formler som kan hjälpa dig att lösa denna uppgift direkt i Excel, men du kan skapa en användardefinierad funktion för att slutföra den. Gör så här:

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationsfönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

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. Spara och stäng den här koden och gå tillbaka till kalkylbladet, i en tom cell, ange denna formel = Antal till ord (A2)( A2 är cellen du vill konvertera numret till ett engelska ord), se skärmdump:

4. Tryck sedan på ange och välj cell C2 och dra sedan fyllningshandtaget till det intervall som du vill innehålla denna formel. Alla de numeriska värdena har konverterats till motsvarande engelska ord.

Anmärkningar: Den här koden fungerar bara för heltal men gäller inte decimaltal.


Konvertera nummer till valutor med användardefinierad funktion

Om du vill konvertera siffrorna till engelska valutor bör du använda nedanstående VBA-kod.

1. Håll ner ALT + F11 knapparna och det öppnar Microsoft Visual Basic för applikationsfönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulfönster.

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. Spara den här koden och gå tillbaka kalkylbladet, i en tom cell, ange denna formel = SpellNumberToEnglish (A2)( A2 är cellen du vill konvertera numret till ett engelska valutor) och dra sedan påfyllningshanteringen ner till cellerna som du vill använda denna formel, alla siffror har stavats till engelska valutor, se skärmdump:


Konvertera siffror till valutor med en användbar funktion

Ovanstående kod är lite besvärlig för nybörjare i Excel, här introducerar jag en användbar funktion, Kutools för Excel's Siffror till ord, med det här verktyget kan du snabbt stava siffrorna till engelska ord eller valutor.

Tips:Att tillämpa detta Siffror till ord funktionen, först bör du ladda ner Kutools för Excel, och använd sedan funktionen snabbt och enkelt.

När du har installerat Kutools för Excel, gör så här:

1. Välj listan med siffror som du vill konvertera och klicka sedan på Kutools > Innehåll > Siffror till ord, se skärmdump:

2. I Siffror till valutaord Dialogrutan, kolla English alternativ från Språk och klicka sedan på Ok knappen kommer du att se alla siffror har stavats till engelska valutor:

tips: Om du vill få de engelska orden, kontrollera Omvandlas inte till valuta kryssrutan från Tillbehör avsnitt, se skärmdumpar:

Klicka för att ladda ner Kutools för Excel och gratis testversion nu!


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

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!
officetab botten
Sortera kommentarer efter
Kommentarer (62)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Hej god morgonHej.. God morgon.. Det är trevligt att träffa dig.
Denna kommentar minimerades av moderatoren på webbplatsen
den här koden fungerar inte
Denna kommentar minimerades av moderatoren på webbplatsen
Sir hur kan jag konvertera numeriska till ord med sista ordet "Bara"?
Denna kommentar minimerades av moderatoren på webbplatsen
problem lösa?????
Denna kommentar minimerades av moderatoren på webbplatsen
Du måste lägga till ytterligare en formel i en annan kolumn
="Rs."&""&F6&"Endast"&"."
Denna kommentar minimerades av moderatoren på webbplatsen
vad sägs om om siffran har en (.) som 150.75 eller 3.35? snälla hjälp tack...
Denna kommentar minimerades av moderatoren på webbplatsen
Tack för ditt vänliga stöd för att skapa formel. Kan du berätta för oss om vi behöver lägga till namnet på valutan...som saudiska riyaler eller brittiska pund.
Denna kommentar minimerades av moderatoren på webbplatsen
Till exempel konverterar vi 4000 till ordet "Fyra Tusen", jag vill översätta det som "Saudi Riyal Four Thousand Only" så saknas i formeln är "Saudi Riyal & Only"
Snälla hjälp
Denna kommentar minimerades av moderatoren på webbplatsen
Ovan nämnda formel i modulen upprepas och kopieras från Microsofts webbplats.

Se originallänken och följ Microsoft Update..

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Denna kommentar minimerades av moderatoren på webbplatsen
den här koden visar syntaxfel på den här raden
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) &_"00", 2))

kan du hjälpa mig ..??Svara mig så snart som möjligt
Denna kommentar minimerades av moderatoren på webbplatsen
LÄGG TILL ORDET OCH MELLAN ORD. Hundrafyrtiotusen, femhundra och tjugosex istället för Hundrafyrtiotusenfemhundra tjugosex. Meningen kanske inte förstås bra eftersom den inte är korrekt engelska.
Denna kommentar minimerades av moderatoren på webbplatsen
den här koden fungerar inte permanent ... om vi stänger och öppnar arket så fungerar det inte
Denna kommentar minimerades av moderatoren på webbplatsen
Spara filen som "Makroaktiverad arbetsbok" och aktivera makron när du öppnar den
Denna kommentar minimerades av moderatoren på webbplatsen
tack för mycket för du är kod
Denna kommentar minimerades av moderatoren på webbplatsen
Till exempel konverterar vi 2500 till ordet "Tvåtusenfemhundra", jag vill översätta det till "Endast tvåtusenfemhundra" så saknas i formeln "Bara"
Snälla hjälp
Denna kommentar minimerades av moderatoren på webbplatsen
använd =CONCATENATE(NumberstoWords(A1)," Only")
Denna kommentar minimerades av moderatoren på webbplatsen
Verkligen tack älskling, din formel var perfekt, bra, Allah välsigne dig.
Hälsningar.
Denna kommentar minimerades av moderatoren på webbplatsen
lakh crore inte i formeln. Snälla hjälp mig.
Denna kommentar minimerades av moderatoren på webbplatsen
Till exempel konverterar vi 2500 till ordet "Tvåtusenfemhundra", jag vill översätta det som "Tvåtusenfemhundra & cents femtio bara" så kan du snälla hjälpa
Denna kommentar minimerades av moderatoren på webbplatsen
Jag förstår inte siffrorna... mitt belopp är 123.50 och fick "hundratjugotre"... kopierade hela formeln, snälla hjälp
Denna kommentar minimerades av moderatoren på webbplatsen
Vad sägs om lakhs och crores
Denna kommentar minimerades av moderatoren på webbplatsen
Tack så mycket
Denna kommentar minimerades av moderatoren på webbplatsen
BRA. Men ledsen att säga att den här formeln INTE fungerar permanent ... Jag stängde arbetsboken för lunchrasten. Efter lunch öppnade jag filen men formeln fungerade inte. visar fel som #NAMN?. Vänligen intima lösningar tack.
Denna kommentar minimerades av moderatoren på webbplatsen
Tack


Det fungerar! :)
Denna kommentar minimerades av moderatoren på webbplatsen
det finns en bugg när mitt belopp är "618475" det står "Six Hundred Eighteen Thousand Four Hundred Seventy Five" istället för "six lac arton tusen fyra hundra sjuttiofem".
Denna kommentar minimerades av moderatoren på webbplatsen
Jag har samma problem
Denna kommentar minimerades av moderatoren på webbplatsen
Detta är inget problem, det är ett format för att skriva i ord
Denna kommentar minimerades av moderatoren på webbplatsen
Tack extendOfficea
Det finns inga kommentarer här ännu
Ladda fler
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL