In this article I will show you two quick and free ways to convert currency numbers into English words in Excel 2019, 2016, 2013 and other versions.
Microsoft Excel is a great program to calculate this and that. It was initially developed to process large data arrays. However, it also lets creating accounting records like invoices, evaluation or balance sheets quickly and effectively.
In more or less solid payment documents it is necessary to duplicate numeric values with their word form. It is much harder to falsify typed numbers than those written by hand. Some swindler can try to make 8000 out of 3000, while it is almost impossible to secretly replace "three" with "eight".
So what you need is not just convert numbers to words in Excel (e.g. 123.45 to "one hundred and twenty three, forty five"), but spell out dollars and cents (e.g. $29.95 as "twenty nine dollars and ninety nine cents" ), pounds and pence for GBP, euros and eurocents for EUR, etc.
Even the latest versions of Excel don't have a built-in tool for spelling numbers, not to mention earlier versions. But that is when Excel is really good. You can always improve its functionality using formulas in all their
combinations, VBA macros, or third-party add-ins.
Below you'll find two ways to convert numbers from figures to words
And, possibly, you may need to convert Words to Numbers in Excel
Note. If you are looking for the number to text conversion, which means you want Excel to see your number as text, it's a bit different thing. For this, you can use the TEXT function or a few other ways described in How to change numbers to text in Excel.
SpellNumber VBA macro to convert numbers to words
As I have already mentioned, Microsoft didn't want to add a tool for this task. However, when they saw how many users needed it, they created and published the special VBA macro on their website. The macro does what its name SpellNumber suggests. All other macros I came across are based on the Microsoft code.
You can find the macro mentioned as "spellnumber formula". However, it is not a formula, but a macro function, or to be more precise Excel User defined function (UDF).
The spellnumber option is able to write dollars and cents. If you need a different currency, you can change "dollar" and "cent" with the name of your one.
If you are not a VBA savvy guy, below you will find a copy of the code. If you still don't want or haven't time to sort this out, please use this solution.
- Open the workbook where you need to spell the numbers.
- Press Alt+F11 to open the Visual Basic editor window.
- If you have several books opened, check that the needed workbook is active using the list of projects in the upper left corner of the editor (one of the workbook elements is highlighted with blue).
- In the editor menu go to Insert-> Module.
- You should see a window named YourBook - Module1. Select all of the code in the frame below and paste it to this window.
- Press Ctrl+S to save the updated workbook.
You will need to resave your workbook. When you try to save the workbook with a macro you'll get the message "The following features cannot be saved in macro-free workbook"
Click No. When you see a new dialog, chose the Save as option. In the field "Save as type" pick the option "Excel macro-enabled workbook".
Use SpellNumber macro in your worksheets
Now you can use the function SpellNumber in your Excel documents. Enter =SpellNumber(A2)
into the cell where you need to get the number written in words. Here A2 is the address of the cell with the number or amount.
Here you can see the result:
Voila!
Quickly copy the SpellNumber function to other cells.
If you need to convert the entire table, not just 1 cell, place your mouse cursor to the lower right corner of the cell with the formula until it turns into a small black cross:
Left-click and drag it across the column to fill in the formula. Release the button to see the results:
Note. Please keep in mind that if you use SpellNumber with a link to another cell, the written sum will be updated each time the number in the source cell is changed.
You can also enter the number directly into the function, for example, =SpellNumber(29.95)
(29.95 - without quotation marks and the Dollar sign).
Disadvantages of using macro to spell numbers in Excel
First off, you must know VBA to modify the code according to your needs. It is necessary to paste the code for each workbook, where you plan to change it. Otherwise, you will need to create a template file with macros and configure Excel to load this file at each start.
The main disadvantage of using a macro is if you send the workbook to somebody else, this person will not see the text unless the macro is built into the workbook. And even if it's built-in, they will get an alert that there are macros in the workbook.
Spell numbers into words using a special add-in
For Excel users who need to quickly spell sums but don't have time to learn VBA or figure out workarounds, we created a special tool that can quickly perform the amount-to-words conversion for a few popular currencies. Please meet the Spell Number add-in included with the latest release of our Ultimate Suite for Excel.
Besides being ready for use, the tool is really flexible in converting amounts to text:
- You can select one of the following currencies: USD, EUR, GBP, BIT, AUD.
- Spell the fractional part in cents, pennies, or bitcents.
- Choose any text case for the result: lower case, UPPER CASE, Title Case, or Sentence case.
- Spell the decimal part in different ways.
- Include or omit zero cents.
The add-in supports all modern versions including Excel 365, Excel 2029, Excel 2016, Excel 2013, and Excel 2010. Please feel free to explore other capabilities on the product's home page linked above.
And now, let's see this number spelling utility in action:
- Select an empty cell for the result.
- On the Ablebits tab, in the Utilities group, click Spell Number.
- In the Spill Number dialog window that appears, configure the following things:
- For the Select your number box, pick the cell containing the amount you want to get written as text.
- Specify the desired currently, letter case and the way the decimal part of the number should be spelled.
- Define whether to include zero cents or not.
- Choose whether to insert the result as a value or formula.
- At the bottom of the dialog window, preview the result. If you are happy with the way your number is written, click Spell. Otherwise, try different settings.
The screenshot below demonstrates the default choices and the spelled number in B2. Please notice a formula (more precisely, a user-defined function) in the formula bar:
And this is a quick demonstration of how other currencies can be spelled out:
Tips and notes:
- Because the Spell Number add-in was designed to handle real-life use cases such as invoices and other financial documents, it can only convert one number at a time.
- To spell a column of numbers, insert a formula in the first cell, and then copy the formula down.
- If there is chance that your source data may change in the future, it's best to insert the result as formula, so it updates automatically as the original number changes.
- When choosing the result as formula option, a custom user-defined function (UDF) is inserted. If you plan to share your workbook with someone who does not have the Ultimate Suite installed, remember to replace formulas with values before sharing.
Reverse conversion - English words into numbers
Frankly, I can't imagine why you may need it. Just in case… :)
It appears that Excel MVP, Jerry Latham, created such Excel User defined function (UDF) as WordsToDigits. It converts English words back to number.
You can download Jerry's WordsToDigits workbook to see the UDF code. Here you'll also find his examples of how to use the function.
You can see how the function works on the sheet "Sample Entries", where you will also be able to enter your own examples. If you plan to employ WordsToDigits in your documents, please be informed that this function has restrictions. For example, it doesn't recognize fractions entered in words. You will find all the details on the "Information" sheet.
528 comments
i want to write number in word pnly
perfect.
How can we convert current on three decimal places in words
For example 1,000.500 (One thousand ruppes and five hundred bz
how to convert marks in words up to 100 only.
please worte a link to this mail
what if i want to convert the numbers only without currency like "dollars" what will be the code?
Hi sir!
Good pm
Ask ko po sana pano po iconvert numbers to peso in excel 2016 windows 10.using this format po: ex.: 120.50
One Hundred Twenty Pesos and 50/100 Only
Thanks Sir! GOD BLESS
Function SpellNumber(ByVal MyNumber) - -During running the formula , error occurs in MyNumber
Convert
1.Four thousand three hundred and thirty to number figures
2.Three thousand and eighteen to number figures
3.Eight thousand and forty three to number figures
4.Nine thousand and seventy seven to number figures.
Convert
5. 9,44 to English words
6. 2,019 to English words
7. 7,003 to English words
Thanks.
HOW TO MAKE IT APPLY ON EVERY EXCEL SHEET
can you remove the . before the cents and add a zero? eg. .1/100 Only to 10/100 Only
do you have the VBA code to convert numbers in French words
Hi can anyone share me the excel add-in file of the Spell Number in USD? i cannot fine the excel Add-in File.
currently we are using spellnumber like this.
370,932.04 = Three Hundred Seventy Thousand Nine Hundred Thirty Two & 4/100 Pesos Only
But due to bank requirement it should be like this.
Three Hundred Seventy Thousand Nine Hundred Thirty Two & 04/100 Pesos Only
Please help me how to do it. Thanks in advance
Thank you for this. But how to do it like this: 190708 turn to (One-Nine-Zero-Seven-Zero-Eight)
Is there a way to do it like that? Thank you very much!
I would like this one for Bahraini Dinar..as the whole process and change the currency there will be always an error. please help me on this...
I dont want to show in word in Paisa.
Now showing
4567.23= Taka Four Thousand Five hundred Sixty Seven twenty three paise only.
But I want to show Like this:
4567.23= Taka Four Thousand Five hundred Sixty Seven only.
Please help me:
Function SpellNumber(amt As Variant) As Variant
Dim FIGURE As Variant
Dim LENFIG As Integer
Dim i As Integer
Dim WORDs(19) As String
Dim tens(9) As String
WORDs(1) = "One"
WORDs(2) = "Two"
WORDs(3) = "Three"
WORDs(4) = "Four"
WORDs(5) = "Five"
WORDs(6) = "Six"
WORDs(7) = "Seven"
WORDs(8) = "Eight"
WORDs(9) = "Nine"
WORDs(10) = "Ten"
WORDs(11) = "Eleven "
WORDs(12) = "Twelve "
WORDs(13) = "Thirteen "
WORDs(14) = "Fourteen "
WORDs(15) = "Fifteen "
WORDs(16) = "Sixteen "
WORDs(17) = "Seventeen "
WORDs(18) = "Eighteen "
WORDs(19) = "Nineteen "
tens(2) = "Twenty "
tens(3) = "Thirty "
tens(4) = "Fourty "
tens(5) = "Fifty "
tens(6) = "Sixty "
tens(7) = "Seventy "
tens(8) = "Eighty "
tens(9) = "Ninety "
FIGURE = amt
FIGURE = Format(FIGURE, "FIXED")
FIGLEN = Len(FIGURE)
If FIGLEN 1 Then
SpellNumber = "Taka "
ElseIf Val(Left(FIGURE, 9)) = 1 Then
SpellNumber = "Taka "
End If
For i = 1 To 3
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
If i = 1 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Crore "
ElseIf i = 2 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Lakh "
ElseIf i = 3 And Val(Left(FIGURE, 2)) > 0 Then
SpellNumber = SpellNumber & " Thousand "
End If
FIGURE = Mid(FIGURE, 3)
Next i
If Val(Left(FIGURE, 1)) > 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 1))) + " Hundred "
End If
FIGURE = Mid(FIGURE, 2)
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
FIGURE = Mid(FIGURE, 4)
If Val(FIGURE) > 0 Then
SpellNumber = SpellNumber & " Paise "
If Val(Left(FIGURE, 2)) 0 Then
SpellNumber = SpellNumber & WORDs(Val(Left(FIGURE, 2)))
ElseIf Val(Left(FIGURE, 2)) > 19 Then
SpellNumber = SpellNumber & tens(Val(Left(FIGURE, 1)))
SpellNumber = SpellNumber & WORDs(Val(Right(Left(FIGURE, 2), 1)))
End If
End If
FIGURE = amt
FIGURE = Format(FIGURE, "FIXED")
If Val(FIGURE) > 0 Then
SpellNumber = SpellNumber & " Only. "
End If
End Function
28,205.8
How to write formula for
45556.545
Forty Five Thousand Five Hundred Fifty six JOD and five hundred forty five fils
Please help me.
can i change the currency like its dollars so can i change to dirhams and the fonts too
For Dirhams and Fills; but not tested if every amount will work out fine.
Option Explicit
'Main Function
Function SpellNumber(ByVal MyNumber)
Dim Dirhams, Fills, 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, ".")
' Convert Fills and set MyNumber to dirham amount.
If DecimalPlace > 0 Then
Fills = 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 Dirhams = Temp & Place(Count) & Dirhams
If Len(MyNumber) > 3 Then
MyNumber = Left(MyNumber, Len(MyNumber) - 3)
Else
MyNumber = ""
End If
Count = Count + 1
Loop
Select Case Dirhams
Case ""
Dirhams = ""
Case "One"
Dirhams = "One Dirham"
Case Else
Dirhams = Dirhams & " Dirhams"
End Select
Select Case Fills
Case ""
Fills = ""
Case "One"
Fills = " and One Fills"
Case Else
Fills = " and " & Fills & " Fills"
End Select
SpellNumber = Dirhams & Fills
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
' Converts a number from 10 to 99 into text.
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
' Converts a number from 1 to 9 into text.
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
This code is showing error for 100 crores it is showing 10 crores only