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

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

Если у вас есть столбец числовых значений на листе, и теперь вам нужно преобразовать их в их эквивалентные английские слова или английские денежные слова, как показано на следующем снимке экрана. Здесь я расскажу о том, как быстро и легко заменить числа на английские слова.

Преобразование чисел в английские слова с помощью функции, определяемой пользователем

Преобразование чисел в денежные слова с помощью функции, определяемой пользователем

Преобразование чисел в денежные слова с помощью полезной функции


Преобразование чисел в английские слова с помощью функции, определяемой пользователем

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

1. Удерживая нажатой ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

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. Сохраните и закройте этот код и вернитесь на рабочий лист, в пустой ячейке введите эту формулу = Число слов (A2)( A2 это ячейка, в которой вы хотите преобразовать число в английское слово), см. снимок экрана:

4, Затем нажмите Enter и выберите ячейку C2, затем перетащите маркер заполнения в диапазон, который вы хотите содержать эту формулу. Все числовые значения преобразованы в соответствующие английские слова.

Внимание: Этот код работает только для целых чисел, но не применяется к десятичным числам.


Преобразование чисел в денежные слова с помощью функции, определяемой пользователем

Если вы хотите преобразовать числа в английские денежные слова, вы должны применить приведенный ниже код VBA.

1. Удерживая нажатой ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > Модулии вставьте следующий код в Окно модуля.

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. Сохраните этот код и вернитесь на рабочий лист, в пустой ячейке введите эту формулу = SpellNumberToEnglish (A2)( A2 - это ячейка, в которой вы хотите преобразовать число в слово английской валюты), а затем перетащите дескриптор заполнения вниз к ячейкам, в которых вы хотите применить эту формулу, все числа были записаны в английские денежные слова, см. снимок экрана:


Преобразование чисел в денежные слова с помощью полезной функции

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

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

После установки Kutools for Excel, пожалуйста, сделайте так:

1. Выберите список чисел, которые вы хотите преобразовать, и нажмите Кутулс > Содержание > Числа в слова, см. снимок экрана:

2. В Числа в денежные слова диалоговое окно, отметьте Английский из файла Языки список, а затем щелкните Ok , вы увидите, что все числа были написаны английскими денежными словами:

Советы: Если вы хотите получить английские слова, проверьте Не конвертируется в валюту флажок из Опции раздел, см. скриншоты:

Нажмите, чтобы загрузить Kutools for Excel и бесплатную пробную версию сейчас!


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

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (62)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Привет .. Доброе утроПривет.. Доброе утро.. Приятно познакомиться.
Этот комментарий был сведен к минимуму модератором на сайте
этот код не работает
Этот комментарий был сведен к минимуму модератором на сайте
Сэр, как я могу преобразовать числа в слова с последним словом «Только»?
Этот комментарий был сведен к минимуму модератором на сайте
проблема решена?????
Этот комментарий был сведен к минимуму модератором на сайте
Вы должны добавить еще одну дополнительную формулу в другой столбец
="Rs."&""&F6&"Только"&"."
Этот комментарий был сведен к минимуму модератором на сайте
как насчет того, если число имеет (.), например, 150.75 или 3.35? пожалуйста помогите спасибо...
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо за вашу любезную поддержку для создания формулы. Не могли бы вы сообщить нам, нужно ли нам добавить название валюты... например, саудовские риалы или британские фунты.
Этот комментарий был сведен к минимуму модератором на сайте
Например, мы преобразуем 4000 в слово «Четыре тысячи», я хочу перевести его как «Только четыре тысячи саудовских риалов», поэтому в формуле отсутствует «Саудовские риалы и только».
Пожалуйста помоги
Этот комментарий был сведен к минимуму модератором на сайте
Вышеупомянутая формула в модуле повторяется и скопирована с веб-сайта Microsoft.

Пожалуйста, смотрите исходную ссылку и следите за Microsoft Update..

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Этот комментарий был сведен к минимуму модератором на сайте
дорогой, этот код показывает синтаксическую ошибку в этой строке
Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) &_"00", 2))

Вы можете мне помочь ..?? Ответьте мне как можно скорее
Этот комментарий был сведен к минимуму модератором на сайте
ДОБАВЬТЕ СЛОВО И МЕЖДУ СЛОВАМИ. Сто сорок тысяч пятьсот двадцать шесть вместо сто сорок тысяч пятьсот двадцать шесть. Предложение может быть неправильно понято, поскольку оно не соответствует английскому языку.
Этот комментарий был сведен к минимуму модератором на сайте
этот код не работает постоянно... если мы закроем и откроем лист, он не работает
Этот комментарий был сведен к минимуму модератором на сайте
Сохраните файл как «Рабочая книга с поддержкой макросов» и включите макросы при ее открытии.
Этот комментарий был сведен к минимуму модератором на сайте
спасибо за лот для тебя код
Этот комментарий был сведен к минимуму модератором на сайте
Например, мы преобразуем 2500 в слово «Две тысячи пятьсот», я хочу перевести его как «Только две тысячи пятьсот», поэтому в формуле отсутствует «Только».
Пожалуйста помоги
Этот комментарий был сведен к минимуму модератором на сайте
используйте = СЦЕПИТЬ (Числа в Слова (A1), "Только")
Этот комментарий был сведен к минимуму модератором на сайте
Действительно, спасибо, дорогая, твоя формула была идеальной, хорошо, благослови тебя Аллах.
С уважением.
Этот комментарий был сведен к минимуму модератором на сайте
тысяч крор не в формуле. Пожалуйста, помогите мне.
Этот комментарий был сведен к минимуму модератором на сайте
Например, мы преобразуем 2500 в слово «две тысячи пятьсот», я хочу перевести его как «две тысячи пятьсот и только пятьдесят центов», так что не могли бы вы помочь
Этот комментарий был сведен к минимуму модератором на сайте
Я не могу расшифровать центы... моя сумма 123.50 и я получил "сто двадцать три"... скопировал всю формулу, пожалуйста, помогите
Этот комментарий был сведен к минимуму модератором на сайте
Как насчет лакхов и крор
Этот комментарий был сведен к минимуму модератором на сайте
большое спасибо
Этот комментарий был сведен к минимуму модератором на сайте
ОТЛИЧНО. Но, к сожалению, эта формула НЕ работает постоянно ... Я закрыл книгу на обеденный перерыв. После обеда я открыл файл, но формула не работала. показывает ошибку типа #ИМЯ?. Пожалуйста, интимные решения.
Этот комментарий был сведен к минимуму модератором на сайте
Спасибо


Это работает! :)
Этот комментарий был сведен к минимуму модератором на сайте
есть ошибка, когда моя сумма "618475", она говорит "Шестьсот восемнадцать тысяч четыреста семьдесят пять" вместо "шесть лаков восемнадцать тысяч четыреста семьдесят пять".
Этот комментарий был сведен к минимуму модератором на сайте
У меня точно такая же проблема
Этот комментарий был сведен к минимуму модератором на сайте
Это не проблема, это формат написания словами
Этот комментарий был сведен к минимуму модератором на сайте
спасибо extendOfficea
Здесь еще нет комментариев
Загрузить ещё
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL