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

- Использовать новые встроенные функции (только для Microsoft 365)
- Использовать пользовательскую функцию VBA
- Использовать Kutools для Excel несколькими щелчками мыши
Методы преобразования Преобразовать в слова в Excel
В этом разделе представлены три эффективных способа преобразования денежных сумм в слова в Excel. Выберите тот, который лучше всего подходит вашей версии Excel и сценарию использования.
Метод 1: Использование новых встроенных функций (только для Microsoft 365)
Если вы используете Excel для Microsoft 365, воспользуйтесь новой функцией TRANSLATE, чтобы легко преобразовывать денежные суммы в слова с помощью креативной комбинации формул.
Как показано на скриншоте ниже, чтобы преобразовать денежные суммы из диапазона A2:A5 в пропись, воспользуйтесь следующей формулой.

- Выберите пустую ячейку (например, B2) и введите приведённую ниже формулу.=PROPER(SUBSTITUTE(SUBSTITUTE(LOWER(TRANSLATE(BAHTTEXT(B9),«th»,«en»)),«baht»,«dollars»),«satang»,«cents»))
- Нажмите 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
- Откройте лист, на котором хотите воспользоваться этой функцией.
- Нажмите «Alt» + «F11», чтобы открыть окно Microsoft Visual Basic для приложений.
- В редакторе выберите «Вставка» → «Модуль» и вставьте приведённый ниже код 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
- Нажмите «Alt» + «Q», чтобы вернуться на лист.
Шаг 2: Применение функции
- В ячейке введите приведённую ниже формулу и нажмите «Enter».=SpellNumberToEnglish(A2)
- Затем перетащите маркер заполнения, чтобы применить формулу к другим строкам по мере необходимости. Теперь ваши числа будут отображаться словами, например:

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

Сохраните книгу как файл с поддержкой макросов
По умолчанию функции VBA не сохраняются, если книга не сохранена как книга с поддержкой макросов:
- Нажмите «Ctrl» + «S», чтобы сохранить изменения.
- И нажмите кнопку «Вернуться назад» во всплывающем сообщении о макросах.Примечание: если во всплывающем окне отображаются только кнопки «Да», «Нет» и «Справка», нажмите «Нет».

- В окне «Сохранить как».
- Выберите место, куда сохранить файл.
- В раскрывающемся списке «Указать формат сохранения» выберите «Книга Excel с поддержкой макросов (*.xlsm)».
- Нажмите «Сохранить».

Ограничения функции SpellNumberToEnglish на основе VBA
- Эта функция генерирует результаты исключительно на английском языке.
- Она не поддерживает другие языки (например, французский или немецкий), а также не работает со структурами валют, где обозначение валюты предшествует числу (например, «рупий сто» в индийском варианте английского языка).
- Если вы не сохраните книгу в формате с поддержкой макросов (.xlsm), функция будет утеряна при закрытии Excel.
- Если файл сохранить в формате обычного .xlsx, весь код VBA будет удалён.
- При отправке файла с макросами другим пользователям при его открытии появится предупреждение: «Предупреждение системы безопасности — макросы отключены».
- Некоторые пользователи могут не включать макросы из-за опасений по поводу безопасности и отказаться от использования файла.
- Любые изменения терминов или формата валюты потребуют ручного редактирования кода VBA.
- Не подходит для пользователей, не имеющих опыта работы с макросами или программированием.
Метод 3: Использовать Kutools для Excel (без формул и VBA)
Если у вас установлен «Kutools для Excel», воспользуйтесь функцией «Преобразовать в слова», чтобы легко превращать числа в английские слова — как в валютном, так и в обычном формате, а также на десятки других языков и валют, включая EUR, GBP, JPY и многие другие.
Если вы ищете простое, удобное и универсальное решение без программирования для преобразования Преобразовать в слова в Excel, Kutools для Excel предлагает специальную функцию «Преобразовать в слова», поддерживающую:
- Английский (USD, GBP, EUR и др.)
- Десятки других языков и валют (например, Японская иена, Индийская рупия, китайский юань)
- Формат валюты или простые слова (например, «сто двадцать три» вместо «сто двадцать три доллара»)
Шаги использования:
- Выделите ячейки с числами, которые нужно преобразовать.
- Выберите «Kutools» → «Содержимое» → «Преобразовать в слова».
- В диалоговом окне «Числа в слова валюты» необходимо:
- Выберите предпочитаемый язык и формат валюты (например, английский — США для доллара США).
- Нажмите «ОК».

Необязательно: установите флажок «Не преобразовывать в валюту», если хотите получить простые английские слова без упоминания «dollars» или «cents».
Выбранные вами числа автоматически преобразуются в соответствующие слова валюты согласно вашим настройкам.
Kutools для Excel— раскройте весь потенциал Excel с помощью более чем 300 незаменимых инструментов, которые ускоряют и упрощают вашу работу, а также воспользуйтесь возможностями ИИ для более разумной обработки данных и повышения продуктивности.Получить сейчас
Обратная операция: преобразование слов валюты в числа
Если у вас есть список сумм, записанных словами на английском языке, например:
Если вы хотите преобразовать их в фактические числа в Excel (например, 123,45), воспользуйтесь пользовательской функцией VBA (UDF) следующим образом.

Шаг 1: Откройте редактор VBA и вставьте код VBA
- Откройте вашу рабочую книгу Excel.
- Нажмите «Alt» + «F11», чтобы открыть редактор Microsoft Visual Basic для приложений (VBA).
- В редакторе VBA выберите «Вставка» → «Модуль».
- Скопируйте и вставьте следующий код 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: Примените функцию на листе
- Нажмите «Alt» + «Q», чтобы вернуться в Excel.
- Введите эту формулу в любую пустую ячейку и нажмите «Enter». Затем перетащите «Маркер заполнения» вниз, чтобы получить остальные результаты.=WordsToNumber(A2)

Заключение
Преобразование Преобразовать в слова — или слов обратно в числа — не является встроенной функцией Excel, но в этом руководстве показано несколько практических решений в зависимости от ваших потребностей:
- Пользователи Microsoft 365 могут использовать современные встроенные функции, такие как TRANSLATE, чтобы с помощью формул преобразовывать числовые значения валюты в слова на английском языке — особенно для валют с конструкцией «основная единица + дробная единица».
- Пользовательские функции VBA обеспечивают большую гибкость как для преобразования Преобразовать в слова, так и для обратного преобразования слов валюты в числовые значения. Однако они связаны с проблемами безопасности макросов и лучше всего подходят пользователям, знакомым с программированием.
- Kutools для Excel предлагает самый простой, многоязычный и функционально богатый вариант — без формул и программирования, с поддержкой десятков валют и языков.
- Если вам нужно преобразовать слова обратно в числа, решение на основе VBA эффективно справляется с этой задачей, хотя для получения точных результатов может потребоваться дополнительная очистка — например, удаление запятых.
Независимо от того, готовите ли вы финансовые документы, автоматизируете печать чеков или просто улучшаете представление данных, правильный выбор метода обеспечит профессиональные и точные результаты.
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал 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.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек






