Konvertera tal till ord

Viktigt!: Den här artikeln är maskinöversatt, se ansvarsfriskrivningen. Den engelska versionen av den här artikeln finns här för din referens.

Excel 2013 och Excel 2016 har inte en standardfunktion som visar tal som engelska ord i en kalkylbladscell, men du kan lägga till den här funktionen genom att klistra in SpellNumber funktionskod i ett modulblad. Den här funktionen kan du konvertera kronor och cent belopp till ord.

Om du vill konvertera numeriska värden till textformat utan att visa dem som ord, använder du funktionen TEXT i stället.

I den här artikeln

Skapa funktionen SpellNumber för att konvertera tal till ord

  1. Använd tangentbordsgenvägen Alt + F11 för att öppna Visual Basic Editor.

    Obs!: Du kan också öppna Visual Basic Editor genom att Visa fliken Utvecklare i menyfliksområdet.

  2. Klicka på fliken Infoga och sedan på Modul.

    Klicka på Modul på Infoga-menyn.
  3. Kopiera följande rader med kod.

    Obs!: Kallas även en makrofunktion. Den här koden automatiserar uppgiften att konvertera tal till text i hela kalkylbladet.

    Option Explicit

    'Main Function

    Function SpellNumber(ByVal MyNumber)

    Dim Dollars, Cents, Temp

    Dim DecimalPlace, Count

    ReDim Place(9) As String

    Place(2) = " Thousand "

    Place(3) = " Million "

    Place(4) = " Billion "

    Place(5) = " Trillion "

    ' String representation of amount.

    MyNumber = Trim(Str(MyNumber))

    ' Position of decimal place 0 if none.

    DecimalPlace = InStr(MyNumber, ".")

    ' Convert cents and set MyNumber to dollar amount.

    If DecimalPlace > 0 Then

    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))

    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If

    Count = 1

    Do While MyNumber <> ""

    Temp = GetHundreds(Right(MyNumber, 3))

    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars

    If Len(MyNumber) > 3 Then

    MyNumber = Left(MyNumber, Len(MyNumber) - 3)

    Else

    MyNumber = ""

    End If

    Count = Count + 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

    SpellNumber = Dollars & Cents

    End Function

    ' Converts a number from 100-999 into text

    Function GetHundreds(ByVal MyNumber)

    Dim Result As String

    If Val(MyNumber) = 0 Then Exit Function

    MyNumber = Right("000" & MyNumber, 3)

    ' Convert the hundreds place.

    If Mid(MyNumber, 1, 1) <> "0" Then

    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

    End If

    ' Convert the tens and ones place.

    If Mid(MyNumber, 2, 1) <> "0" Then

    Result = Result & GetTens(Mid(MyNumber, 2))

    Else

    Result = Result & GetDigit(Mid(MyNumber, 3))

    End If

    GetHundreds = Result

    End Function

    ' Converts a number from 10 to 99 into text.

    Function GetTens(TensText)

    Dim Result As String

    Result = "" ' Null out the temporary function value.

    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...

    Select Case Val(TensText)

    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 ' If value between 20-99...

    Select Case Val(Left(TensText, 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(TensText, 1)) ' Retrieve ones place.

    End If

    GetTens = Result

    End Function

    ' Converts a number from 1 to 9 into text.

    Function GetDigit(Digit)

    Select Case Val(Digit)

    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

  4. Klistra in kodraderna i rutan Modul1 (kod).

    Kod som klistras in i rutan Modul1 (kod).
  5. Klicka på Arkiv och sedan på Stäng och gå tillbaka till Microsoft Excel. Funktionen SpellNumber är nu redo att använda.

    Obs!: Den här funktionen fungerar bara för den aktuella Excel-filen som är öppen. Om du vill använda den här funktionen i en annan Excel-arbetsboken måste du upprepa stegen för att kopiera och klistra in koden i filen.

Överst på sidan

Använda funktionen SpellNumber i enskilda celler

  1. Skriv formeln=SpellNumber(värde) i cellen där du vill visa ett utskrivet tal, där du ersätter värde med ditt tal.

  2. Tryck på Retur på tangentbordet.

    Om du till exempel skriver =SpellNumber(22,50) ska det i cellen stå Twenty-Two Dollars and Fifty Cents.

    Tips: Om du vill konvertera tal till text i en separat cell ska du ersätta det numeriska värdet med en cellreferens i SpellNumber-formeln. Skriv till exempel =SpellNumber(A1) att visa det utskrivna värdet i cell A1.

Överst på sidan

Spara arbetsboken med funktionen SpellNumber

I Excel kan du inte spara en arbetsbok med makrofunktioner i standardformatet för makrofria arbetsböcker. Klicka på Arkiv > Spara. Dialogrutan VB-projekt öppnas. Klicka på Nej.

I dialogrutan VB-projekt klickar du på Nej.

Du kan spara filen som en Makroaktiverad Excel-mall för att behålla filen i dess nuvarande format.

  1. Klicka på Arkiv > Spara som.

  2. Klicka på den nedrullningsbara menyn Spara som och välj Excel Macro-Enabled Template.

    Välj Makroaktiverad Excel-mall.
  3. Klicka på Spara.

Överst på sidan

Obs!: Ansvarsfriskrivning för maskinöversättning: Den här artikeln har översatts av ett datorsystem utan mänsklig inblandning. Microsoft erbjuder dessa maskinöversättningar för att hjälpa icke engelskspråkiga användare att ta del av information om Microsofts produkter, tjänster och tekniker. Eftersom artikeln är maskinöversatt kan den innehålla fel i ordval, syntax och grammatik.

Mer information finns i

Funktionen TEXT

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×