Перейти к основному содержанию
 

Как записывать или преобразовывать числа в английские слова в Excel?

Автор: Сяоян Последнее изменение: 2024 июля 11 г.

Предположим, у вас есть много цифр суммы цены, и теперь вам нужно преобразовать или записать их как текстовые строки. Например, преобразовать $123.55 к английским словам сто двадцать три доллара пятьдесят пять центов. В Excel нет эффективного средства для решения этой проблемы, кроме как с помощью длинного и сложного кода VBA. В этой статье я познакомлю вас с некоторыми методами решения этой проблемы.

Написание или преобразование чисел в английские слова с кодом VBA

Записывайте или конвертируйте числа в английские слова с помощью Kutools for 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, Затем нажмите Enter и выберите ячейку B2, затем перетащите маркер заполнения в диапазон, содержащий эту формулу, как вам нужно. И все номера валют были записаны английскими словами. Смотрите скриншот:
Скриншот листа Excel, где денежные числа преобразуются в английские слова с помощью VBA

Внимание: Поскольку это формулы, когда вам нужно скопировать и вставить их, вставляйте их как значения.


Записывайте или конвертируйте числа в английские слова с помощью Kutools for Excel

Возможно, приведенный выше длинный код может вас разозлить, пожалуйста, не волнуйтесь, здесь я могу дать вам простой и быстрый способ решить эту проблему. С Kutools for ExcelАвтора Числа в слова функцию, вы можете быстро и удобно преобразовать числа в текстовые строки.

Kutools for Excel предлагает более 300 расширенных функций для оптимизации сложных задач, повышения креативности и эффективности. Улучшено возможностями искусственного интеллектаKutools точно автоматизирует задачи, упрощая управление данными. Подробная информация о Kutools для Excel...         Бесплатная пробная версия...

1. Выберите номера диапазона, который вы хотите разобрать, и нажмите Кутулс > Контент > Числа в слова.
Скриншот, демонстрирующий функцию Kutools «Числа в слова» в Excel

2. В появившемся диалоговом окне выберите Английский из Языков. И вы можете просмотреть результаты справа предварительный просмотр Панель. Смотрите скриншот:
Скриншот диалогового окна Kutools «Числа в слова»

3. Затем нажмите Ok or Применить. И все числа суммы цены были преобразованы в текстовые строки в исходном диапазоне.
Скриншот денежных единиц, преобразованных в английские денежные слова с помощью Kutools

Внимание: Если вы просто хотите преобразовать числа в английские слова (не в валюту), проверьте Не конвертируется в валюту флажок.
Скриншот диалогового окна Kutools for Excel «Числа в слова» с выбранной опцией «Не конвертировать в валюту» Скриншот чисел, преобразованных в английские слова с помощью Kutools

Эта фантастическая особенность Числа в слова может легко преобразовать номера валюты в текст валюты на английском или китайском языке, например, перевести 32.01 в «Тридцать два доллара и один цент» или «叁拾 贰元 零 壹 分».

Kutools for Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Get It Now

Demo: Переводим цифры валют в английские слова с помощью Kutools

Kutools for Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!