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

Cum se convertesc rapid numere în cuvinte în limba engleză în Excel?

Dacă aveți o coloană de valori numerice într-o foaie de lucru și acum trebuie să le convenți la cuvintele lor echivalente în limba engleză sau cuvintele în monedă engleză, după cum se arată în următoarea captură de ecran. Aici voi vorbi despre cum să schimbați numerele în cuvinte în limba engleză rapid și ușor.

Conversia numerelor în cuvinte în limba engleză cu funcția definită de utilizator

Convertiți numerele în cuvinte valutare cu funcția definită de utilizator

Convertiți numerele în cuvinte valutare cu o caracteristică utilă


Conversia numerelor în cuvinte în limba engleză cu funcția definită de utilizator

Nu există caracteristici sau formule care vă pot ajuta să rezolvați această sarcină direct în Excel, dar puteți crea o funcție definită de utilizator pentru a o termina. Vă rugăm să efectuați următorii pași:

1. Țineți apăsată tasta ALT + F11 tastele și deschide fișierul Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

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. Salvați și închideți acest cod și reveniți la foaia de lucru, într-o celulă goală, introduceți această formulă = NumberstoWords (A2)( A2 este celula pe care doriți să convertiți numărul într-un cuvânt în limba engleză), consultați captura de ecran:

4. Apoi apăsați Intrați și selectați celula C2, apoi trageți mânerul de umplere în intervalul pe care doriți să îl conțineți cu această formulă. Toate valorile numerice au fost convertite în cuvintele lor corespunzătoare în limba engleză.

notițe: Acest cod funcționează numai pentru numerele întregi, dar nu se aplică numerelor zecimale.


Convertiți numerele în cuvinte valutare cu funcția definită de utilizator

Dacă doriți să convertiți numerele în cuvinte în limba engleză, ar trebui să aplicați codul VBA de mai jos.

1. Țineți apăsată tasta ALT + F11 tastele și deschide fișierul Fereastra Microsoft Visual Basic pentru aplicații.

2. Clic Insera > Moduleși lipiți următorul cod în Fereastra modulului.

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. Salvați acest cod și reveniți la foaia de lucru, într-o celulă goală, introduceți această formulă = SpellNumberToEnglish (A2)( A2 este celula pe care doriți să convertiți numărul într-un cuvânt în monedă engleză), apoi trageți mânerul de umplere în jos în celulele pe care doriți să le aplicați această formulă, toate numerele au fost scrise în cuvinte în monedă engleză, a se vedea captura de ecran:


Convertiți numerele în cuvinte valutare cu o caracteristică utilă

Codul de mai sus este oarecum supărător pentru începătorii Excel, aici, voi introduce o caracteristică utilă, Kutools pentru Excel's Numere la cuvinte, cu acest utilitar, puteți specifica rapid numerele în cuvinte în limba engleză sau cuvinte valutare.

Sfat:Pentru a aplica acest lucru Numere la cuvinte caracteristică, în primul rând, ar trebui să descărcați Kutools pentru Excel, apoi aplicați caracteristica rapid și ușor.

După instalare Kutools pentru Excel, vă rugăm să faceți acest lucru:

1. Selectați lista numerelor pe care doriți să le convertiți, apoi faceți clic pe Kutools > Conţinut > Numere la cuvinte, vezi captura de ecran:

2. În Numere la cuvinte valutare caseta de dialog, bifați Engleză opțiune de la Selecteaza limba casetă listă, apoi faceți clic pe Ok , veți vedea că toate numerele au fost scrise în cuvinte în limba engleză:

sfaturi: Dacă doriți să obțineți cuvintele în limba engleză, vă rugăm să verificați Nu este convertit în valută bifați caseta din Opţiuni secțiunea, vedeți capturi de ecran:

Faceți clic pentru a descărca Kutools pentru Excel și încercare gratuită acum!


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (62)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut buna dimineataBună.. Bună dimineața.. Mă bucur să vă cunosc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
acest cod nu funcționează
Acest comentariu a fost redus la minimum de moderatorul de pe site
Domnule, cum pot converti numerele în cuvinte cu ultimul cuvânt „Numai”?
Acest comentariu a fost redus la minimum de moderatorul de pe site
problema rezolvata?????
Acest comentariu a fost redus la minimum de moderatorul de pe site
Trebuie să adăugați încă o formulă suplimentară în altă coloană
="Rs."&""&F6&"Numai"&"."
Acest comentariu a fost redus la minimum de moderatorul de pe site
ce zici dacă numărul are un (.) cum ar fi 150.75 sau 3.35? va rog ajutati multumesc...
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumim pentru sprijinul dumneavoastră amabil pentru crearea formulei. Vă rugăm să ne spuneți dacă trebuie să adăugăm numele monedei... cum ar fi riali saudiți sau lire sterline.
Acest comentariu a fost redus la minimum de moderatorul de pe site
De exemplu, convertim 4000 în cuvântul „Patru mii”, vreau să îl traduc ca „Doar patru mii de riali saudiți”, așa că lipsește în formulă „riali saudiți și numai”
Te rog ajuta-ma
Acest comentariu a fost redus la minimum de moderatorul de pe site
Formula menționată mai sus din modul este repetată și copiată de pe site-ul Microsoft.

Vă rugăm să vedeți linkul original și să urmați Microsoft Update..

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Acest comentariu a fost redus la minimum de moderatorul de pe site
dragă, acest cod arată o eroare de sintaxă în această linie
Centi = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) &_"00", 2))

ma puteti ajuta ..??Raspunde-mi cat mai curand posibil
Acest comentariu a fost redus la minimum de moderatorul de pe site
ADAUGĂ CUVÂNTUL ȘI ÎNTRE CUVINTE. O sută patruzeci de mii cinci sute douăzeci și șase în loc de o sută patruzeci de mii cinci sute douăzeci și șase. Este posibil ca propoziția să nu fie înțeleasă bine, deoarece engleza nu este potrivită.
Acest comentariu a fost redus la minimum de moderatorul de pe site
acest cod nu funcționează permanent... dacă închidem și deschidem foaia nu funcționează
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salvați fișierul ca „Carte de lucru activată pentru macro” și activați Macro-urile când îl deschideți
Acest comentariu a fost redus la minimum de moderatorul de pe site
multumesc mult pentru ca esti cod
Acest comentariu a fost redus la minimum de moderatorul de pe site
De exemplu, convertim 2500 în cuvântul „Două mii cinci sute”, vreau să îl traduc ca „Doar două mii cinci sute”, așa că lipsește în formulă „Doar”
Te rog ajuta-ma
Acest comentariu a fost redus la minimum de moderatorul de pe site
folosește =CONCATENATE(NumerelaCuvinte(A1),"Numai")
Acest comentariu a fost redus la minimum de moderatorul de pe site
Multumesc draga mea, formula ta a fost perfecta, buna, Allah sa te binecuvanteze.
Salutari.
Acest comentariu a fost redus la minimum de moderatorul de pe site
lakh crore nu este în formulă. Va rog frumos ajutati-ma.
Acest comentariu a fost redus la minimum de moderatorul de pe site
De exemplu, convertim 2500 în cuvântul „Două mii cinci sute”, vreau să îl traduc ca „Doar două mii cinci sute și cincizeci de cenți”, așa că ați putea ajuta, vă rog
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu am scris cenții... suma mea este 123.50 și am primit „o sută douăzeci și trei”... am copiat toată formula, vă rog ajutați
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce zici de lakhs și crore
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc mult
Acest comentariu a fost redus la minimum de moderatorul de pe site
AMENDA. Dar îmi pare rău să spun că această formulă NU funcționează permanent... Am închis registrul de lucru pentru pauză de prânz. După lunch am deschis fișierul, dar formula nu funcționa. afișează o eroare precum #NAME?. Va rog solutii intime.
Acest comentariu a fost redus la minimum de moderatorul de pe site
mulțumesc


Functioneaza! :)
Acest comentariu a fost redus la minimum de moderatorul de pe site
există o eroare când suma mea este „618475”, scrie „Șase sute optsprezece mii patru sute șaptezeci și cinci” în loc de „șase lac optsprezece mii patru sute șaptezeci și cinci”.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am aceeasi problema
Acest comentariu a fost redus la minimum de moderatorul de pe site
Aceasta nu este o problemă, este un format de scriere în cuvinte
Acest comentariu a fost redus la minimum de moderatorul de pe site
mulțumesc extendOfficea
Nu există comentarii postate aici încă
Încărcați mai
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL