Преобразование чисел в слова

Важно :  Данная статья переведена с помощью машинного перевода, см. Отказ от ответственности. Используйте английский вариант этой статьи, который находится здесь, в качестве справочного материала.

Excel 2013 и Excel 2016 нет функции по умолчанию, отображающий чисел в виде английских слов в ячейке таблицы, но вы можете добавить эту возможность путем вставки код функции SpellNumber в листе модуля. Эта функция позволяет преобразовывать доллара и кратное сумм для слов.

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

В этом разделе...

Создание функции SpellNumber для преобразования чисел в слова

  1. Нажмите клавиши ALT+F11, чтобы открыть редактор Visual Basic.

    Примечание : Также можно открыть редактор Visual Basic отображением вкладки "Разработчик" на ленте.

  2. На вкладке Insert (Вставка) нажмите кнопку Module (Модуль).

    В меню Insert выберите пункт Module.
  3. Скопируйте приведенный ниже код.

    Примечание : Это функция макроса, которая автоматизирует преобразование чисел в электронной таблице в слова.

    Option Explicit

    'Main Function

    Function SpellNumber(ByVal MyNumber)

    Dim Dollars, Cents, Temp

    Dim DecimalPlace, Count

    ReDim Place(9) As String

    Place(2) = " Thousand "

    Place(3) = " Million "

    Place(4) = " Billion "

    Place(5) = " Trillion "

    ' String representation of amount.

    MyNumber = Trim(Str(MyNumber))

    ' Position of decimal place 0 if none.

    DecimalPlace = InStr(MyNumber, ",")

    "Преобразовать копейки и переменной MyNumber для денежное значение.

    If DecimalPlace > 0 Then

    Cents = GetTens(Left(Mid(MyNumber, DecimalPlace + 1) & _ "00", 2))

    MyNumber = Trim(Left(MyNumber, DecimalPlace - 1))

    End If

    Count = 1

    Do While MyNumber <> ""

    Temp = GetHundreds(Right(MyNumber, 3))

    If Temp <> "" Then Dollars = Temp & Place(Count) & Dollars

    If Len(MyNumber) > 3 Then

    MyNumber = Left(MyNumber, Len(MyNumber) - 3)

    Else

    MyNumber = ""

    End If

    Count = Count + 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

    SpellNumber = Dollars & Cents

    End Function

    ' Converts a number from 100-999 into text

    Function GetHundreds(ByVal MyNumber)

    Dim Result As String

    If Val(MyNumber) = 0 Then Exit Function

    MyNumber = Right("000" & MyNumber, 3)

    ' Convert the hundreds place.

    If Mid(MyNumber, 1, 1) <> "0" Then

    Result = GetDigit(Mid(MyNumber, 1, 1)) & " Hundred "

    End If

    ' Convert the tens and ones place.

    If Mid(MyNumber, 2, 1) <> "0" Then

    Result = Result & GetTens(Mid(MyNumber, 2))

    Else

    Result = Result & GetDigit(Mid(MyNumber, 3))

    End If

    GetHundreds = Result

    End Function

    "Преобразует число из 10 до 99 в текст.

    Function GetTens(TensText)

    Dim Result As String

    Result = "" ' Null out the temporary function value.

    If Val(Left(TensText, 1)) = 1 Then ' If value between 10-19...

    Select Case Val(TensText)

    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 ' If value between 20-99...

    Select Case Val(Left(TensText, 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(TensText, 1)) ' Retrieve ones place.

    End If

    GetTens = Result

    End Function

    "Преобразует число от 1 до 9 в текст.

    Function GetDigit(Digit)

    Select Case Val(Digit)

    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

  4. Вставьте строки кода в поле Module1 (Code) (Модуль 1 — код).

    Код, вставленный в поле Module1 (Code).
  5. В меню File (Файл) выберите команду Close and Return to Microsoft Excel (Закрыть и вернуться в Microsoft Excel). Функция SpellNumber готова к использованию.

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

К началу страницы

Использование функции SpellNumber в отдельных ячейках

  1. Введите формулу =SpellNumber(значение) в ячейку, в которой нужно вывести текст, заменив значение нужным числом.

  2. Нажмите клавишу ВВОД.

    Например, если ввести =SpellNumber(22,50), в ячейке появится фраза Twenty-Two Dollars and Fifty Cents.

    Совет : Для преобразования в слова чисел в отдельной ячейке укажите в формуле SpellNumber ссылку на ячейку. Например, введите =SpellNumber(A1), чтобы преобразовать число в ячейке A1.

К началу страницы

Сохранение книги с функцией SpellNumber

В Excel невозможно сохранять книги с функциями макросов в стандартном формате. Если щелкнуть Файл > Сохранить, откроется диалоговое окно Проект VB. Щелкните Нет.

В диалоговом окне проекта VB щелкните "Нет".

Вы можете сохранить файл как шаблон Excel с поддержкой макросов.

  1. В меню Файл выберите команду Сохранить как.

  2. В раскрывающемся меню Тип файла выберите Excel Macro-Enabled Template.

    Выберите шаблон Excel с поддержкой макросов.
  3. Нажмите кнопку Сохранить.

К началу страницы

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

См. также

Функция ТЕКСТ

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединиться к программе предварительной оценки Office

Были ли сведения полезными?

Спасибо за ваш отзыв!

Благодарим за отзыв! Возможно, будет полезно связать вас с одним из наших специалистов службы поддержки Office.

×