Cum se explică sau se convertesc numere în cuvinte în limba engleză în Excel?
Presupunând că aveți multe numere de preț, iar acum trebuie să le convertiți sau să le explicați în șiruri de text. De exemplu, convertiți $123.55 la cuvintele englezești o sută douăzeci și trei de dolari și cincizeci și cinci de cenți. În Excel nu există o facilitate eficientă pentru a rezolva această problemă, ci folosind codul VBA lung și complex. În acest articol, vă voi prezenta câteva metode pentru a face față acestuia.
Delimitați sau convertiți numerele în cuvinte în limba engleză cu cod VBA
Delimitați sau convertiți numerele în cuvinte în limba engleză cu Kutools pentru Excel
Delimitați sau convertiți numerele în cuvinte în limba engleză cu cod VBA
Următorul cod lung VBA vă poate ajuta să scrieți numerele pe șiruri de text. Procedați după cum urmează:
1. Țineți apăsat butonul ALT + F11 tastele și deschide fișierul Microsoft Visual Basic pentru aplicații fereastră.
2. Clic Insera > Moduleși lipiți următoarea macro în fișierul Fereastra modulului.
VBA: Delimitați numerele valutare în cuvinte în limba engleză în Excel
Function SpellNumberToEnglish(ByVal pNumber)
'Updateby20131113
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. Apoi salvați codul și reveniți la foaia de lucru, în celula B2 adiacentă, introduceți formula = SpellNumberToEnglish (A1), vezi captura de ecran:
4. Apoi apăsați Intrați și selectați celula B2, apoi trageți mânerul de umplere în intervalul care conține această formulă după cum aveți nevoie. Și toate numerele valutare au fost explicate în cuvinte în limba engleză. Vedeți captura de ecran:
notițe: Deoarece sunt formule, atunci când trebuie să le copiați și lipiți, vă rugăm să lipiți ca valori.
Delimitați sau convertiți numerele în cuvinte în limba engleză cu Kutools pentru Excel
Poate că codul lung de mai sus vă poate face să vă supărați, vă rog să nu vă faceți griji, aici vă pot oferi o modalitate ușoară și rapidă de a o rezolva. Cu Kutools pentru Excel'S Numere la cuvinte funcție, puteți converti rapid și convenabil numerele în șiruri de text.
Kutools pentru Excel- Include mai mult de 300 de instrumente la îndemână pentru Excel. Versiune completă de încercare gratuită de 30 de zile, nu este necesar un card de credit! Ia-L Acum
1. Selectați numerele de interval pe care doriți să le explicați și faceți clic pe Kutools > Conţinut > Numere la cuvinte.
2. În caseta de dialog popping out, alegeți Engleză de la Limbă. Și puteți previzualiza rezultatele din dreapta Anunţ Panou. Vedeți captura de ecran:
3. Apoi apasa Ok or Aplică. Și toate numerele valorii prețului au fost convertite în șiruri de text din gama originală.
notițe: Dacă doriți doar să convertiți numerele în cuvinte în limba engleză (nu în monedă), vă rugăm să verificați Nu este convertit în valută caseta.
Această caracteristică fantastică a Numere la cuvinte poate traduce cu ușurință numerele valutare în textul monedei în engleză sau chineză, cum ar fi traduce 32.01 în „Treizeci și doi de dolari și un cent” sau „叁拾 贰元 零 壹 分”. Aveți o încercare gratuită!
Demo: Scrieți numerele valutare în cuvinte în limba engleză
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!