Cum se convertesc rapid numere în cuvinte în limba engleză în Excel?
Conversia numerelor în cuvinte în Excel este utilă pentru pregătirea rapoartelor financiare, a documentelor juridice sau a cecurilor în care trebuie să precizați sumele. Deși Excel nu oferă o funcție încorporată pentru a converti numerele direct în cuvinte, există mai multe metode pe care le puteți utiliza pentru a realiza acest lucru, de la utilizarea unei macrocomenzi Visual Basic pentru aplicații (VBA) la suplimente de la terți și online. unelte. Mai jos, vom explora câteva dintre aceste metode pentru a vă ajuta să găsiți cea mai bună soluție pentru nevoile dvs.
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ă
Scrieți numerele în cuvinte fără efort cu Kutools pentru Excel! Indiferent dacă aveți nevoie de expresii valutare engleze sau numere germane, Kutools" Numere la cuvinte caracteristica acceptă peste 40 de limbi, simplificând fluxul de lucru. Simplificați-vă rapoartele financiare, documentele juridice și multe altele prin conversia valorilor numerice în cuvinte scrise precise cu doar câteva clicuri. Descoperiți cum Kutools pentru Excel vă poate face procesarea datelor mai rapidă și mai precisă. Încercați-l astăzi și experimentați puterea eficienței!
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, alegeți limba pe care doriți să o utilizați, aici voi selecta Engleză opțiune de la Limbă casetă listă, vezi captura de ecran:
3. 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 numai cuvintele în limba engleză, nu cuvintele valutare, vă rugăm să verificați Nu este convertit în valută bifați caseta din Opţiuni secțiune, vezi captura de ecran:
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ă.
Alegerea metodei potrivite depinde de preferința dvs. și de frecvența nevoii dvs. de a converti numere în cuvinte în Excel. VBA oferă cea mai mare flexibilitate și integrare în Excel, în timp ce suplimentele pot oferi o soluție mai simplă. Urmând aceste metode, puteți converti eficient numerele în cuvinte din foaia de lucru Excel. Dacă sunteți interesat să explorați mai multe sfaturi și trucuri Excel, site-ul nostru oferă mii de tutoriale. Vă rugăm să faceți clic aici pentru a le accesa.
Cele mai bune instrumente de productivitate de birou
Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp. Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...
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!