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

Як швидко перетворити числа в англійські слова в Excel?

Якщо у вас є стовпець числових значень на аркуші, і тепер вам потрібно перетворити їх на їх еквівалентні англійські слова або слова англійської валюти, як показано на наступному знімку екрана. Тут я розповім про те, як швидко і легко змінити цифри на англійські слова.

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

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

Перетворіть цифри у валютні слова за допомогою корисної функції


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

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

1. Утримуйте клавішу ALT + F11 і відкриває Вікно Microsoft Visual Basic для програм.

2. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

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. Збережіть і закрийте цей код і поверніться до робочого аркуша, в пусту клітинку введіть цю формулу = NumberstoWords (A2)( A2 це клітинка, яку потрібно перетворити в англійське слово), див. знімок екрана:

4. Потім натисніть вводити і виберіть клітинку C2, а потім перетягніть маркер заповнення до діапазону, який ви хочете містити у цій формулі. Всі числові значення були перетворені у відповідні їм англійські слова.

примітки: Цей код працює лише для цілих чисел, але не застосовується до десяткових чисел.


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

Якщо ви хочете перетворити цифри в англійські валютні слова, слід застосувати наведений нижче код VBA.

1. Утримуйте клавішу ALT + F11 і відкриває Вікно Microsoft Visual Basic для програм.

2. Клацання Insert > Модуліта вставте наступний код у Вікно модуля.

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 для Excel's Числа до слів, за допомогою цієї утиліти ви можете швидко прописати цифри англійськими словами або словами валюти.

Порада:Щоб застосувати це Числа до слів По-перше, вам слід завантажити Kutools для Excel, а потім швидко та легко застосувати функцію.

після установки Kutools для Excel, будь ласка, зробіть так:

1. Виберіть список чисел, які потрібно перетворити, а потім клацніть Кутулс > зміст > Числа до слів, див. скріншот:

2, в Числа до валютних слів діалогове вікно, позначте англійська опція від мови і натисніть кнопку Ok Ви побачите, що всі цифри прописані англійською мовою:

чайові: Якщо ви хочете отримати англійські слова, перевірте Не конвертовано у валюту прапорець з опції розділ, див. скріншоти:

Натисніть, щоб завантажити Kutools для Excel та безкоштовну пробну версію зараз!


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (59)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт добрий ранокПривіт.. Доброго ранку.. Приємно познайомитися.
Цей коментар був мінімізований модератором на сайті
цей код не працює
Цей коментар був мінімізований модератором на сайті
Пане, як я можу перетворити числові в слова з останнім словом «Тільки»?
Цей коментар був мінімізований модератором на сайті
вирішити проблему?????
Цей коментар був мінімізований модератором на сайті
Вам потрібно додати ще одну додаткову формулу в інший стовпець
="Rs."&""&F6&"Тільки"&"."
Цей коментар був мінімізований модератором на сайті
як щодо числа, наприклад, 150.75 або 3.35? будь ласка, допоможіть Дякую...
Цей коментар був мінімізований модератором на сайті
Дякуємо за підтримку у створенні формули. Скажіть, будь ласка, чи потрібно додати назву валюти, наприклад саудівські ріали чи британські фунти.
Цей коментар був мінімізований модератором на сайті
Наприклад, ми конвертуємо 4000 у слово «Чотири тисячі», я хочу перекласти його як «Тільки чотири тисячі саудівських ріалів», тому у формулі не вистачає «саудівських ріалів і тільки»
Будь ласка, допоможіть
Цей коментар був мінімізований модератором на сайті
Вище згадана формула в модулі повторюється і скопійована з веб-сайту Microsoft..

Будь ласка, перегляньте оригінальне посилання та перейдіть за оновленням Microsoft.

https://support.microsoft.com/en-in/help/213360/how-to-convert-a-numeric-value-into-english-words-in-excel
Цей коментар був мінімізований модератором на сайті
Шановний, цей код показує синтаксичну помилку в цьому рядку
Cents = GetTens(Left(Середина(MyNumber, DecimalPlace + 1) &_"00", 2))

ви можете мені допомогти ..??Відповісти мені якомога швидше
Цей коментар був мінімізований модератором на сайті
ДОДАВАЙТЕ СЛОВО ТА МІЖ СЛОВАМИ. Сто сорок тисяч, п'ятьсот двадцять шість замість Сто сорок тисяч п'ятьсот двадцять шість. Речення може бути погано зрозуміле, оскільки воно не є правильним англійською.
Цей коментар був мінімізований модератором на сайті
цей код не працює постійно ... якщо ми закриємо та відкриємо аркуш, він не працює
Цей коментар був мінімізований модератором на сайті
Збережіть файл як «Робота з підтримкою макросів» і ввімкніть макроси, коли ви його відкриєте
Цей коментар був мінімізований модератором на сайті
дякую за багато за код
Цей коментар був мінімізований модератором на сайті
Наприклад, ми конвертуємо 2500 у слово «Дві тисячі п’ятьсот», я хочу перекласти його як «Тільки дві тисячі п’ятьсот», тому у формулі відсутній «тільки»
Будь ласка, допоможіть
Цей коментар був мінімізований модератором на сайті
використовувати =CONCATENATE(NumberstoWords(A1)," Тільки")
Цей коментар був мінімізований модератором на сайті
Дійсно дякую, дорога, твоя формула була ідеальною, добре, благослови вас Аллах.
З повагою.
Цей коментар був мінімізований модератором на сайті
лакх крор не входить у формулу. Будь ласка, допоможіть мені.
Цей коментар був мінімізований модератором на сайті
Наприклад, ми конвертуємо 2500 у слово "Two Thousand Five Hundred", я хочу перекласти його як " Two Thousand Five Hundred & Cents Fifty Only", тож, будь ласка, допоможіть
Цей коментар був мінімізований модератором на сайті
Я не розбираю центи... моя сума 123.50 і я отримав "сто двадцять три"... скопіював всю формулу, допоможіть будь ласка
Цей коментар був мінімізований модератором на сайті
Що щодо лакхів і крор
Цей коментар був мінімізований модератором на сайті
Спасибі
Цей коментар був мінімізований модератором на сайті
ФАЙН. Але вибачте, що ця формула НЕ працює постійно... Я закрив робочу книжку на обідню перерву. Після обіду я відкрив файл, але формула не працювала. відображається помилка, як-от #NAME?. Будь ласка, інтимні рішення.
Цей коментар був мінімізований модератором на сайті
Дякую


Це працює! :)
Цей коментар був мінімізований модератором на сайті
є помилка, коли моя сума становить "618475", замість "шість lac вісімнадцять тисяч чотириста сімдесят п'ять" написано "шістсот вісімнадцять тисяч чотириста сімдесят п'ять".
Цей коментар був мінімізований модератором на сайті
У мене така ж проблема
Цей коментар був мінімізований модератором на сайті
Це не проблема, це формат написання словами
Цей коментар був мінімізований модератором на сайті
Дякую extendOfficea
There are no comments posted here yet
Load More
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця