KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Преобразование чисел в слова в Excel — подробное руководство

АвторСяоянДата изменения

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

Снимок экрана, демонстрирующий преобразование чисел в слова в Excel

Методы преобразования Преобразовать в слова в Excel

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


Метод 1: Использование новых встроенных функций (только для Microsoft 365)

Если вы используете Excel для Microsoft 365, воспользуйтесь новой функцией TRANSLATE, чтобы легко преобразовывать денежные суммы в слова с помощью креативной комбинации формул.

Как показано на скриншоте ниже, чтобы преобразовать денежные суммы из диапазона A2:A5 в пропись, воспользуйтесь следующей формулой.

  1. Выберите пустую ячейку (например, B2) и введите приведённую ниже формулу.
    =PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
  2. Нажмите Enter и перетащите маркер заполнения вниз, чтобы применить формулу ко всем остальным строкам.
    Снимок экрана, демонстрирующий использование новой функции для преобразования чисел в слова

Как работает формула:

  • BAHTTEXT: Converts the number to Thai-baht text (e.g., “หนึ่งบาทถ้วน”).
  • TRANSLATE(…,«th»,«en»): переводит текст с одного языка на другой (требуется Microsoft 365). В данном случае — с тайского на английский.
  • LOWER(): преобразует всю строку в нижний регистр, обеспечивая единообразие.
  • SUBSTITUTE(): заменяет обозначения валюты, такие как «бат» и «сатанг», на нужные вам термины.
  • PROPER(): делает первую букву каждого слова заглавной для корректного форматирования.

Адаптация для других валют:

Приведённая выше формула выводит сумму в долларах США. Вы можете адаптировать её под другие валюты, заменив основные и дробные единицы:

  • Замените «dollars» на основную единицу целевой валюты, например «pounds» для британского фунта.
  • Замените «cents» на дробную единицу, например «pence» для британского фунта.

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

ВалютаЗамена основной единицыЗамена дробной единицыПример формулы (предполагается, что значение находится в ячейке A2)
USDдолларовцентов=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","dollars"),"satang","cents"))
GBPфунтовпенсов=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","pounds"),"satang","pence"))
EURевроцентов=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","euros"),"satang","cents"))
MYRринггитовсенов=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(A2),"th","en")),"baht","ringgit"),"satang","sen"))

Ограничения данного метода:

  • Работает только в Excel для Microsoft 365 (из-за использования функции TRANSLATE()).
  • Результат напрямую зависит от точности форматирования функции BAHTTEXT().
  • Этот метод подходит для валют с основной и дробной единицами, подобно тайскому бату (например, доллары и центы). Его не рекомендуется использовать для валют с иной структурой.

Метод 2: Использовать пользовательскую функцию VBA

В этом разделе вы узнаете, как использовать пользовательскую функцию VBA (UDF) для преобразования числовых значений в слова на английском языке — по умолчанию настроенную специально для долларов США (USD).

Шаг 1: Вставка кода VBA

  1. Откройте лист, на котором хотите воспользоваться этой функцией.
  2. Нажмите «Alt» + «F11», чтобы открыть окно Microsoft Visual Basic для приложений.
  3. В редакторе выберите «Вставка» → «Модуль» и вставьте приведённый ниже код VBA.
    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
    Снимок экрана редактора кода
  4. Нажмите «Alt» + «Q», чтобы вернуться на лист.

Шаг 2: Применение функции

  1. В ячейке введите приведённую ниже формулу и нажмите «Enter».
    =SpellNumberToEnglish(A2)
  2. Затем перетащите маркер заполнения, чтобы применить формулу к другим строкам по мере необходимости. Теперь ваши числа будут отображаться словами, например:
    Снимок экрана с пользовательской функцией и результатами её работы

Адаптация для других валют:

Функция выводит значения в форматах «Dollar(s)» и «Cent(s)», которые жёстко заданы исключительно для USD. Если вы хотите конвертировать числа в другие валюты, например в «British Pound», вам нужно вручную заменить основные и дробные единицы в приведённых ниже строках кода.

Снимок экрана, демонстрирующий изменение кода для адаптации под другие валюты

Сохраните книгу как файл с поддержкой макросов

По умолчанию функции VBA не сохраняются, если книга не сохранена как книга с поддержкой макросов:

  1. Нажмите «Ctrl» + «S», чтобы сохранить изменения.
  2. И нажмите кнопку «Вернуться назад» во всплывающем сообщении о макросах.
    Примечание: если во всплывающем окне отображаются только кнопки «Да», «Нет» и «Справка», нажмите «Нет».
    Снимок экрана, демонстрирующий изменение кода для адаптации под другие валюты
  3. В окне «Сохранить как».
    1. Выберите место, куда сохранить файл.
    2. В раскрывающемся списке «Указать формат сохранения» выберите «Книга Excel с поддержкой макросов (*.xlsm)».
    3. Нажмите «Сохранить».
      Снимок экрана, демонстрирующий изменение кода для адаптации под другие валюты

Ограничения функции SpellNumberToEnglish на основе VBA

Отсутствует поддержка нескольких языков
  • Эта функция генерирует результаты исключительно на английском языке.
  • Она не поддерживает другие языки (например, французский или немецкий), а также не работает со структурами валют, где обозначение валюты предшествует числу (например, «рупий сто» в индийском варианте английского языка).
Не сохраняется в стандартном формате Файлы Excel
  • Если вы не сохраните книгу в формате с поддержкой макросов (.xlsm), функция будет утеряна при закрытии Excel.
  • Если файл сохранить в формате обычного .xlsx, весь код VBA будет удалён.
Предупреждение о безопасности макросов при совместном использовании
  • При отправке файла с макросами другим пользователям при его открытии появится предупреждение: «Предупреждение системы безопасности — макросы отключены».
  • Некоторые пользователи могут не включать макросы из-за опасений по поводу безопасности и отказаться от использования файла.
Требуются знания VBA для настройки
  • Любые изменения терминов или формата валюты потребуют ручного редактирования кода VBA.
  • Не подходит для пользователей, не имеющих опыта работы с макросами или программированием.

Метод 3: Использовать Kutools для Excel (без формул и VBA)

Если у вас установлен «Kutools для Excel», воспользуйтесь функцией «Преобразовать в слова», чтобы легко превращать числа в английские слова — как в валютном, так и в обычном формате, а также на десятки других языков и валют, включая EUR, GBP, JPY и многие другие.

Если вы ищете простое, удобное и универсальное решение без программирования для преобразования Преобразовать в слова в Excel, Kutools для Excel предлагает специальную функцию «Преобразовать в слова», поддерживающую:

  • Английский (USD, GBP, EUR и др.)
  • Десятки других языков и валют (например, Японская иена, Индийская рупия, китайский юань)
  • Формат валюты или простые слова (например, «сто двадцать три» вместо «сто двадцать три доллара»)

Шаги использования:

  1. Выделите ячейки с числами, которые нужно преобразовать.
  2. Выберите «Kutools» → «Содержимое» → «Преобразовать в слова».
  3. В диалоговом окне «Числа в слова валюты» необходимо:
    1. Выберите предпочитаемый язык и формат валюты (например, английский — США для доллара США).
    2. Нажмите «ОК».
      Снимок экрана диалогового окна преобразования чисел в прописные денежные суммы

Необязательно: установите флажок «Не преобразовывать в валюту», если хотите получить простые английские слова без упоминания «dollars» или «cents».

Выбранные вами числа автоматически преобразуются в соответствующие слова валюты согласно вашим настройкам.

Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас


Обратная операция: преобразование слов валюты в числа

Если у вас есть список сумм, записанных словами на английском языке, например:

«Сто двадцать три доллара и сорок пять центов»

Если вы хотите преобразовать их в фактические числа в Excel (например, 123,45), воспользуйтесь пользовательской функцией VBA (UDF) следующим образом.

Шаг 1: Откройте редактор VBA и вставьте код VBA

  1. Откройте вашу рабочую книгу Excel.
  2. Нажмите «Alt» + «F11», чтобы открыть редактор Microsoft Visual Basic для приложений (VBA).
  3. В редакторе VBA выберите «Вставка» → «Модуль».
  4. Скопируйте и вставьте следующий код VBA в пустое окно модуля:
    Function WordsToNumber(ByVal Txt As String) As Double
    'Updated by Extendoffice
        Dim x As Object: Set x = CreateObject("Scripting.Dictionary")
        Dim units, tens, specials
        Dim part As String, parts() As String
        Dim total As Double, partial As Double, multiplier As Double
        Dim i As Long, word As String
        
        Txt = LCase(Trim(Txt))
        Txt = Replace(Txt, ",", "")
        Txt = Replace(Txt, "-", " ")
        Txt = Replace(Txt, " and ", " ")
        Txt = Replace(Txt, "  ", " ")
        
        ' Setup basic number words
        x.Add "zero", 0: x.Add "one", 1: x.Add "two", 2: x.Add "three", 3
        x.Add "four", 4: x.Add "five", 5: x.Add "six", 6: x.Add "seven", 7
        x.Add "eight", 8: x.Add "nine", 9: x.Add "ten", 10: x.Add "eleven", 11
        x.Add "twelve", 12: x.Add "thirteen", 13: x.Add "fourteen", 14
        x.Add "fifteen", 15: x.Add "sixteen", 16: x.Add "seventeen", 17
        x.Add "eighteen", 18: x.Add "nineteen", 19: x.Add "twenty", 20
        x.Add "thirty", 30: x.Add "forty", 40: x.Add "fifty", 50
        x.Add "sixty", 60: x.Add "seventy", 70: x.Add "eighty", 80
        x.Add "ninety", 90: x.Add "hundred", 100: x.Add "thousand", 1000
        x.Add "million", 1000000: x.Add "billion", 1000000000
        
        Dim dollarPart As String, centPart As String
        Dim dollarValue As Double, centValue As Double
        
        ' Split into dollars and cents
        If InStr(Txt, "dollar") > 0 Then
            dollarPart = Trim(Split(Txt, "dollar")(0))
        End If
        If InStr(Txt, "cent") > 0 Then
            centPart = Trim(Split(Txt, "cent")(0))
            If InStr(centPart, "dollar") > 0 Then
                centPart = Trim(Split(centPart, "dollar")(1))
            End If
        End If
        
        dollarValue = ParseWordsToNumber(dollarPart, x)
        centValue = ParseWordsToNumber(centPart, x)
        
        WordsToNumber = dollarValue + centValue / 100
    End Function
    
    Private Function ParseWordsToNumber(ByVal Txt As String, x As Object) As Double
        Dim parts() As String: parts = Split(Txt, " ")
        Dim total As Double, current As Double
        Dim i As Long, val As Double
        
        For i = 0 To UBound(parts)
            If x.exists(parts(i)) Then
                val = x(parts(i))
                Select Case val
                    Case 100
                        If current = 0 Then current = 1
                        current = current * val
                    Case Is >= 1000
                        If current = 0 Then current = 1
                        total = total + current * val
                        current = 0
                    Case Else
                        current = current + val
                End Select
            End If
        Next i
        
        total = total + current
        ParseWordsToNumber = total
    End Function

Шаг 2: Примените функцию на листе

  1. Нажмите «Alt» + «Q», чтобы вернуться в Excel.
  2. Введите эту формулу в любую пустую ячейку и нажмите «Enter». Затем перетащите «Маркер заполнения» вниз, чтобы получить остальные результаты.
    =WordsToNumber(A2)
    Снимок экрана, демонстрирующий преобразование слов в числа

Заключение

Преобразование Преобразовать в слова — или слов обратно в числа — не является встроенной функцией Excel, но в этом руководстве показано несколько практических решений в зависимости от ваших потребностей:

  • Пользователи Microsoft 365 могут использовать современные встроенные функции, такие как TRANSLATE, чтобы с помощью формул преобразовывать числовые значения валюты в слова на английском языке — особенно для валют с конструкцией «основная единица + дробная единица».
  • Пользовательские функции VBA обеспечивают большую гибкость как для преобразования Преобразовать в слова, так и для обратного преобразования слов валюты в числовые значения. Однако они связаны с проблемами безопасности макросов и лучше всего подходят пользователям, знакомым с программированием.
  • Kutools для Excel предлагает самый простой, многоязычный и функционально богатый вариант — без формул и программирования, с поддержкой десятков валют и языков.
  • Если вам нужно преобразовать слова обратно в числа, решение на основе VBA эффективно справляется с этой задачей, хотя для получения точных результатов может потребоваться дополнительная очистка — например, удаление запятых.

Независимо от того, готовите ли вы финансовые документы, автоматизируете печать чеков или просто улучшаете представление данных, правильный выбор метода обеспечит профессиональные и точные результаты.


Лучшие инструменты повышения продуктивности в Office

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

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

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

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек