Skaičių konvertavimas į žodžius

„„Excel 2013““ ir „Excel 2016“ neturi numatytosios funkcijos, kuri rodo skaičius kaip angliškus žodžius skaičiuoklės langelyje, tačiau galite įtraukti šią galimybę įklijuodami SpellNumber funkcijos kodą į modulio lapą. Ši funkcija leidžia konvertuoti dolerių ir centų sumas į žodžius.

Jei norite konvertuoti skaitines reikšmes į teksto formatą nerodydami jų kaip žodžių, naudokite funkciją TEXT.

Šiame straipsnyje:

SpellNumber funkcijos kūrimas skaičiams į žodžius konvertuoti

  1. Naudokite sparčiuosius klavišus Alt + F11, kad atidarytumėte „Visual Basic“ rengyklę.

    Pastaba : Taip pat galite pasiekti „Visual Basic“ rengyklę rodydami programų kūrėjo skirtuką juostelėje.

  2. Spustelėkite skirtuką Įterpimas, tada spustelėkite Modulis.

    Meniu Įterpimas spustelėkite Modulis.
  3. Nukopijuokite šias kodo eilutes.

    Pastaba : Šis kodas, žinomas kaip makrokomandos funkcija, automatizuoja skaičių konvertavimo į tekstą užduotį visoje skaičiuoklėje.

    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. Įklijuokite kodo eilutes į lauką Modulis1 (kodas).

    Kodas, įklijuotas į Module1 (kodas) lauką.
  5. Spustelėkite Failas, tada spustelėkite Uždaryti ir grįžti į „Microsoft Excel“. Dabar SpellNumber funkcija paruošta naudoti.

    Pastaba : Ši funkcija veikia tik šiuo metu atidarytame „Excel“ faile. Norėdami naudoti šią funkciją kitoje „Excel“ darbaknygėje, turite pakartoti veiksmus ir nukopijuoti bei įklijuoti kodą į tą failą.

Puslapio viršus

SpellNumber funkcijos naudojimas atskiruose langeliuose

  1. Įveskite formulę =SpellNumber(reikšmė) į langelį, kuriame norite rodyti žodžiais užrašytą skaičių, pakeisdami reikšmė savo pasirinktu skaičiumi.

  2. Klaviatūroje paspauskite Enter.

    Pavyzdžiui, jei įvesite =SpellNumber(22.50), langelyje turėtų būti rodoma Twenty-Two Dollars and Fifty Cents.

    Patarimas : Norėdami konvertuoti skaičius į tekstą atskirame langelyje, SpellNumber formulėje pakeiskite skaitinę reikšmę langelio nuoroda. Pavyzdžiui, įveskite =SpellNumber(A1), kad rodytumėte žodžiais užrašytą langelio A1 reikšmę.

Puslapio viršus

Darbaknygės su SpellNumber funkcija įrašymas

„Excel“ negali įrašyti darbaknygės su makrokomandų funkcijomis standartiniu darbaknygės be makrokomandų formatu. Jei spustelėsite Failas > Įrašyti, bus atidarytas dialogo langas VB projektas. Spustelėkite Ne.

VB projekto dialogo lange spustelėkite Nr.

Galite įrašyti savo failą kaip „Excel“ makrokomandų šabloną, kad išsaugotumėte dabartinį failo formatą.

  1. Spustelėkite Failas > Įrašyti kaip.

  2. Spustelėkite išplečiamąjį meniu Įrašomo failo tipas ir pasirinkite Excel Macro-Enabled Template.

    Pasirinkite „Excel“ makrokomandas palaikantį šabloną.
  3. Spustelėkite Įrašyti.

Puslapio viršus

Taip pat žr.

Funkcija TEXT

Tobulinkite savo įgūdžius
Ieškoti mokymo
Pirmiausia gaukite naujų funkcijų
Prisijunkite prie „Office Insider“ dalyvių

Ar ši informacija buvo naudinga?

Dėkojame už jūsų atsiliepimus!

Dėkojame už jūsų atsiliepimą! Panašu, kad gali būti naudinga jus sujungti su vienu iš mūsų „Office“ palaikymo agentų.

×