Как да изписвам или преобразувам числа в английски думи в Excel?
Да предположим, че имате много числа на стойността на цената и сега трябва да ги конвертирате или изпишете в текстови низове. Например конвертирайте $123.55 към английските думи сто двадесет и три долара и петдесет и пет цента. В Excel няма ефективно средство за решаване на този проблем, освен с помощта на дългия и сложен VBA код. В тази статия ще ви представя някои методи за справяне с него.
Изписвайте или преобразувайте числа в английски думи с VBA код
Изписвайте или преобразувайте числа в английски думи с Kutools за Excel
Изписвайте или преобразувайте числа в английски думи с VBA код
Следният дълъг VBA код може да ви помогне да изписвате числа в текстови низове. Направете следното:
1. Задръжте натиснат ALT + F11 ключове и отваря Microsoft Visual Basic за приложения прозорец.
2. Щракнете Поставете > Модулии поставете следния макрос в Прозорец на модула.
VBA: Изписвайте числата на валутата на английски думи в 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. След това запазете кода и се върнете в работния лист, в съседната клетка B2 въведете формулата =SpellNumberToEnglish(A1), вижте екранна снимка:
4. След това натиснете Въведете и изберете клетката B2, след което плъзнете манипулатора за запълване до диапазона, който съдържа тази формула, както ви е необходимо. И всички номера на валутата са изписани с английски думи. Вижте екранна снимка:
Забележка: Тъй като те са формули, когато трябва да ги копирате и поставите, моля, поставете като стойности.
Изписвайте или преобразувайте числа в английски думи с Kutools за Excel
Може би горният дълъг код може да ви ядоса, моля, не се притеснявайте, тук мога да ви дам лесен и бърз начин да го разрешите. С Kutools за ExcelЕ Числа към думи можете бързо и удобно да конвертирате числата в текстови низове.
Kutools за Excel- Включва повече от 300 удобни инструмента за Excel. Пълен безплатен пробен период за 30 дни, не се изисква кредитна карта! Вземи Го Сега
1. Изберете диапазона от числа, които искате да изпишете, и щракнете Kutools > съдържание > Числа към думи.
2. В изскачащия диалогов прозорец изберете Английски от Езици. И можете да прегледате резултатите отдясно Предварителен преглед Прозорец. Вижте екранна снимка:
3, След това кликнете Ok or Добавете Обява. И всички числа на стойността на цената са преобразувани в текстови низове в оригиналния диапазон.
Забележка: Ако просто искате да конвертирате числа в английски думи (не във валута), моля, проверете Не се конвертира във валута отметката.
Тази фантастична характеристика на Числа към думи може лесно да преведе числата на валутата в текста на валутата на английски или китайски, като например да преведе 32.01 на „Тридесет и два долара и един цент“ или „叁拾贰元零壹分“. Имате безплатен пробен период!
Демонстрация: Изписвайте числата на валутата на английски думи
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!