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

Hogyan lehet gyorsan konvertálni a számokat angol szavakra az Excelben?

Ha van egy munkalapon egy numerikus értékekkel rendelkező oszlop, és most ezeket az egyenértékű angol szavakra vagy angol pénznemű szavakra kell rendezni, az alábbi képernyőkép szerint. Itt arról fogok beszélni, hogyan lehet gyorsan és egyszerűen megváltoztatni a számokat angol szavakra.

Számok konvertálása angol szavakra a Felhasználó által definiált funkcióval

Számok konvertálása pénznem szavakra a Felhasználó által definiált funkcióval

Konvertálja a számokat valuta szavakká egy hasznos funkcióval


Számok konvertálása angol szavakra a Felhasználó által definiált funkcióval

Nincsenek olyan funkciók vagy képletek, amelyek segíthetnek a feladat közvetlen megoldásában az Excel programban, de a befejezéséhez létrehozhat egy felhasználó által definiált függvényt. Kérjük, tegye a következőket:

1. Tartsa lenyomva a ALT + F11 gombokat, és ez megnyitja a Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.

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. Mentse el és zárja be ezt a kódot, és lépjen vissza a munkalapra, egy üres cellába írja be ezt a képletet = Szám szavakra (A2)( A2 az a cella, amelyet a szám angol nyelvűvé kell konvertálni), lásd a képernyőképet:

4. Ezután nyomja meg a gombot belép gombot, majd válassza ki a C2 cellát, majd húzza a kitöltő fogantyút arra a tartományra, amelyikbe ezt a képletet be kívánja állítani. Az összes numerikus értéket a megfelelő angol szavakká alakították át.

Megjegyzések: Ez a kód csak egész számok esetén működik, de nem vonatkozik a tizedes számokra.


Számok konvertálása pénznem szavakra a Felhasználó által definiált funkcióval

Ha a számokat angol pénznemre kívánja konvertálni, akkor alkalmazza az alábbi VBA kódot.

1. Tartsa lenyomva a ALT + F11 gombokat, és ez megnyitja a Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modul ablak.

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. Mentse el ezt a kódot, és menjen vissza a munkalapra, egy üres cellába írja be ezt a képletet = SpellNumberToEnglish (A2)( A2 az a cella, amelyet a szám angol nyelvű pénznemre kíván konvertálni), majd húzza lefelé a kitöltő fogantyút azokra a cellákra, amelyeken alkalmazni kívánja ezt a képletet. Az összes szám angol nyelvű szavakra lett megírva, lásd a képernyőképet:


Konvertálja a számokat valuta szavakká egy hasznos funkcióval

A fenti kód kissé problémás az Excel kezdők számára, itt bemutatok egy hasznos funkciót, Kutools az Excel számára's Számok szavakig, ezzel a segédprogrammal gyorsan megírhatja a számokat angol szavakra vagy pénznemekre.

Tipp:Ennek alkalmazásához Számok szavakig funkció, először is le kell töltenie a Kutools az Excel számára, majd gyorsan és egyszerűen alkalmazza a funkciót.

Telepítése után Kutools az Excel számára, kérjük, tegye a következőket:

1. Válassza ki az átalakítani kívánt számok listáját, majd kattintson a gombra Kutools > Tartalom > Számok szavakig, lásd a képernyőképet:

2. Az Számok pénznem szavakra párbeszédpanelen jelölje be Angol lehetőség a Nyelvek listamezőbe, majd kattintson a gombra Ok gombra kattintva láthatja, hogy az összes szám angol nyelvű szavakra van írva:

tippek: Ha szeretné megkapni az angol szavakat, ellenőrizze a Nem átszámítva pénznemre jelölőnégyzetet a Opciók szakasz, lásd a képernyőképeket:

Kattintson a Kutools for Excel és az ingyenes próbaverzió letöltéséhez!


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (62)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia.Jó reggeltSzia.. Jó reggelt.. Örülök, hogy találkoztunk.
A weboldal moderátora ezt a megjegyzést minimalizálta
ez a kód nem működik
A weboldal moderátora ezt a megjegyzést minimalizálta
Uram, hogyan alakíthatom át a számokat olyan szavakká, amelyek utolsó szója "Csak"?
A weboldal moderátora ezt a megjegyzést minimalizálta
Probléma megoldva?????
A weboldal moderátora ezt a megjegyzést minimalizálta
Egy másik oszlopban további egy képletet kell hozzáadnia
="Rs."&""&F6&"Csak"&"."
A weboldal moderátora ezt a megjegyzést minimalizálta
mit szólnál, ha a számban van egy (.), például 150.75 vagy 3.35? kérlek segíts köszi...
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönjük szíves támogatását a formula elkészítéséhez. Kérem, mondja meg nekünk, hogy hozzá kell-e adni a valuta nevét, például szaúdi riál vagy angol font.
A weboldal moderátora ezt a megjegyzést minimalizálta
Például átváltjuk a 4000-et "négyezer" szóra, én úgy akarom lefordítani, hogy "csak négyezer szaúdi riál", így hiányzik a képletből a "Saudi Rials & Only" szó.
Kérem, segítsen
A weboldal moderátora ezt a megjegyzést minimalizálta
A fent említett képlet a modulban megismétlődik, és a Microsoft webhelyéről másolódik.

Kérjük, tekintse meg az eredeti hivatkozást, és kövesse a Microsoft Update szolgáltatást.

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
A weboldal moderátora ezt a megjegyzést minimalizálta
kedves ez a kód szintaktikai hibát mutat ebben a sorban
Cent = GetTens(Bal(Közép(Sajátszám, Tizedeshely + 1) &_"00", 2))

tud segíteni ..??Válaszoljon a lehető leghamarabb
A weboldal moderátora ezt a megjegyzést minimalizálta
A SZÓ HOZZÁADÁSA ÉS A SZAVAK KÖZÖTT. Száznegyvenezer, száznegyvenezer-ötszázhuszonhat helyett ötszázhuszonhat. Előfordulhat, hogy a mondat nem érthető jól, mert nem megfelelő angolul.
A weboldal moderátora ezt a megjegyzést minimalizálta
ez a kód nem működik állandóan ...ha bezárjuk és kinyitjuk a lapot, akkor nem működik
A weboldal moderátora ezt a megjegyzést minimalizálta
Mentse el a fájlt "Makró engedélyezett munkafüzet" néven, és engedélyezze a makrókat, amikor megnyitja
A weboldal moderátora ezt a megjegyzést minimalizálta
köszönöm a sok kódot
A weboldal moderátora ezt a megjegyzést minimalizálta
Például átváltjuk a 2500-at "kétezer-ötszáz" szóra, én úgy szeretném lefordítani, hogy "csak kétezer-ötszáz", így a képletből hiányzik a "Csak"
Kérem, segítsen
A weboldal moderátora ezt a megjegyzést minimalizálta
use =CONCATENATE(Számokszavak(A1),"Csak")
A weboldal moderátora ezt a megjegyzést minimalizálta
Igazán köszönöm drágám, a képleted tökéletes volt, jó, Allah áldjon meg.
Üdvözlettel.
A weboldal moderátora ezt a megjegyzést minimalizálta
lakh crore nincs benne a képletben. Légyszives segíts.
A weboldal moderátora ezt a megjegyzést minimalizálta
Például átváltjuk a 2500-at "kétezer-ötszáz" szóra, én pedig úgy szeretném lefordítani, hogy "csak kétezer-ötszáz és csak ötven cent", akkor kérem segítsen
A weboldal moderátora ezt a megjegyzést minimalizálta
Nem tudom kiírni a centeket... az összegem 123.50 és "százhuszonhárom" lett... az összes képletet lemásoltam, kérlek segíts
A weboldal moderátora ezt a megjegyzést minimalizálta
Mi a helyzet a milliókkal és a koronákkal
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
BÍRSÁG. De sajnálom, hogy ez a képlet NEM működik tartósan... Ebédszünetre bezártam a munkafüzetet. Ebéd után megnyitottam a fájlt, de a képlet nem működött. hiba jelenik meg, mint a #NAME?. Intim megoldásokat kérek.
A weboldal moderátora ezt a megjegyzést minimalizálta
Kösz


Működik! :)
A weboldal moderátora ezt a megjegyzést minimalizálta
van egy hiba, amikor az összegem "618475", akkor a "hat lac tizennyolcezer-négyszázhetvenöt" helyett "hatszáztizennyolcezer-négyszázhetvenöt" jelenik meg.
A weboldal moderátora ezt a megjegyzést minimalizálta
Ugyanaz a problémám
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez nem probléma, ez a szavakkal való írás formátuma
A weboldal moderátora ezt a megjegyzést minimalizálta
Köszönöm extendOfficea
Még senki sem írt megjegyzést
Több ingatlan
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi