Two best ways to convert numbers to words in Excel

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. Convert number to words in Excel 2010

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.

  1. Open the workbook where you need to spell the numbers.
  2. Press Alt+F11 to open the Visual Basic editor window.
  3. 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).
  4. In the editor menu go to Insert-> Module. Excel Visual Basic editor - insert module
  5. You should see a window named YourBook - Module1. Select all of the code in the frame below and paste it to this window. SpellNumber VBA macro to convert numbers to words

    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 " MyNumber = Trim(Str(MyNumber)) DecimalPlace = InStr(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 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 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&hellip; 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&hellip; 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 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
  6. 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"

    The following features cannot be saved in macro-free Workbook : VB project

    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".

    Save your book as '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. Use SpellNumber macro in your Excel worksheets

Here you can see the result: Spelled out numbers to dollars and cents

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: Quickly copy the SpellNumber function to other cells

Left-click and drag it across the column to fill in the formula. Release the button to see the results: Spelled out numbers to dollars and cents

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. Add a macro to your 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. The Spell Number tool 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:

  1. Select an empty cell for the result.
  2. On the Ablebits tab, in the Utilities group, click Spell Number.
  3. 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.
  4. 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: The amount number is converted to words.

And this is a quick demonstration of how other currencies can be spelled out: How different 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. Convert english words into numbers

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.

516 comments

  1. Hi Sir,

    Please send me formula for write only for the words without dollars ans cents

  2. Greetings Sir.
    I want code for text of spell number in Indian Rupees and Paisas with shoing Rupees at start of text figure. for example

    1000.50 is to text as

    Rupees One Thousand and fifty paisas only.

    Thanks for your urgent reply

  3. Alexandre,
    Thank you for your help! This article is excellent!

    I have only one question. The formula is working perfect when I have the spreadsheet saved in my own hard disk, but when I save the file on my share drive the formula doesn't work. Is there any way to fix it?

  4. all formulas showing error

  5. these formulas are not working

  6. Thank you so much! Works like a charm!!!!!! (=spellnumber) - Just what the doctor ordered!

  7. I want amount 500.260 as " Five hundered Riyal and 260 Baisa Only" How can i get do it decimals till 3 digits and also in numeric.

  8. I would like complete this using the formula only (no macro) and also have the text read the cents as "55/100 DOLLARS". So, for example, $7,547.55 = "SEVEN THOUSAND FIVE HUNDRED FORTY-SEVEN AND 55/100 DOLLARS" Can anyone help with that? I'd prefer not to use a macro, if possible.

  9. sir i got that formula and its works at once.but when i close excel and reopen then #name error comes and format formula has been out

  10. Hi,

    I have an Problem. the Number convert into word the following example. I want (two lakh four hundred seventy four dollars and 24 Cents). Please help me.

    2,00,474.25
    Two Hundred Thousand Four Hundred Seventy Four Dollars and Twenty Five Cents

  11. hi how will i convert 100.47 into "one hundred & 47/100 Only"

    i tried suggested response but all of them are not working did i missed something. can i have the detailed steps

    thank you

    • hi! just wondering if this is already solved can i have the complete formula for this? thannk you so much

  12. sir i got that formula and its works at once.but when i close excel and reopen then #name error comes and format formula has been out

  13. In Indian Format you can convert up to neel rupee
    &
    In million format you can convert up to trillion dollar

    You can change your currency by find and replace rupee-paise or dollar-cent to any other currency
    Or
    You can also use it without any currency just find and replace rupee-paise or dollar-cent with blank (spacebar)

  14. in Million Format (Excel Formula)

    =TRIM(IF(C5>=10^14," "&CHOOSE(FLOOR(MOD(C5,10^15)/10^14,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C5,10^15)>=10^14," Hundred"," ")&" "&IF(MOD(C5,10^14)>=2*10^13," "&CHOOSE(FLOOR(MOD(C5,10^14)/10^13,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C5,10^14),10^13)>=10^12," "&CHOOSE(FLOOR(MOD(MOD(C5,10^14),10^13)/10^12,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C5,10^14)>=10^12," "&CHOOSE(FLOOR(MOD(C5,10^14)/10^12,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C5,10^15)>=10^12," Trillion"," ")&" "&IF(C5>=10^11," "&CHOOSE(FLOOR(MOD(C5,10^12)/10^11,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C5,10^12)>=10^11," Hundred"," ")&" "&IF(MOD(C5,10^11)>=2*10^10," "&CHOOSE(FLOOR(MOD(C5,10^11)/10^10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C5,10^11),10^10)>=10^9," "&CHOOSE(FLOOR(MOD(MOD(C5,10^11),10^10)/10^9,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C5,10^11)>=10^9," "&CHOOSE(FLOOR(MOD(C5,10^11)/10^9,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C5,10^12)>=10^9," Billion"," ")&" "&IF(C5>=10^8," "&CHOOSE(FLOOR(MOD(C5,10^9)/10^8,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C5,10^9)>=10^8," Hundred"," ")&" "&IF(MOD(C5,10^8)>=2*10^7," "&CHOOSE(FLOOR(MOD(C5,10^8)/10^7,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C5,10^8),10^7)>=10^6," "&CHOOSE(FLOOR(MOD(MOD(C5,10^8),10^7)/10^6,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C5,10^8)>=10^6," "&CHOOSE(FLOOR(MOD(C5,10^8)/10^6,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C5,10^9)>=10^6," Million"," ")&" "&IF(C5>=10^5," "&CHOOSE(FLOOR(MOD(C5,10^6)/10^5,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C5,10^6)>=10^5," Hundred"," ")&" "&IF(MOD(C5,10^5)>=20000," "&CHOOSE(FLOOR(MOD(C5,10^5)/10^4,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C5,10^5),10^4)>=10^3," "&CHOOSE(FLOOR(MOD(MOD(C5,10^5),10^4)/10^3,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C5,10^5)>=10^3," "&CHOOSE(FLOOR(MOD(C5,10^5)/10^3,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C5,10^6)>=10^3," Thousand"," ")&IF(C5>=10^2," "&CHOOSE(FLOOR(MOD(C5,10^3)/10^2,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C5,10^3)>=10^2," Hundred"," ")&IF(MOD(C5,10^2)>=20," "&CHOOSE(FLOOR(MOD(C5,10^2)/10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C5,10^2),10)>=1," "&CHOOSE(FLOOR(MOD(MOD(C5,10^2),10),1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C5,10^2)>=1," "&CHOOSE(FLOOR(MOD(C5,10^2),1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(C5=1," Dollar","")&IF(C5>1," Dollars","")&IF(AND(C5>0.99,MOD(RIGHT((ROUND(C5,2))*100,2),10^2)>0)," and","")&IF(MOD(RIGHT((ROUND(C5,2))*100,2),10^2)>=20," "&CHOOSE(FLOOR(MOD(RIGHT((ROUND(C5,2))*100,2),10^2)/10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(RIGHT((ROUND(C5,2))*100,2),10^2),10)>=1," "&CHOOSE(FLOOR(MOD(MOD(RIGHT((ROUND(C5,2))*100,2),10^2),10),1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(RIGHT((ROUND(C5,2))*100,2),10^2)>=1," "&CHOOSE(FLOOR(MOD(RIGHT((ROUND(C5,2))*100,2),10^2),1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(RIGHT((ROUND(C5,2))*100,2),10^2)=1," Cent","")&IF(MOD(RIGHT((ROUND(C5,2))*100,2),10^2)>1," Cents",""))

    • i wanna add one more zero on the cents to written 0.100 as hundred cents

  15. in Indian Format (Excel Formula)

    =TRIM(IF(C6=1," Rupee","")&IF(C6>1," Rupees","")&IF(MOD(C6,10^15)>=(2*(10^14))," "&CHOOSE(FLOOR(MOD(C6,10^15)/10^14,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^15),10^14)>=10^13," "&CHOOSE(FLOOR(MOD(MOD(C6,10^15),10^14)/10^13,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^15)>=10^13," "&CHOOSE(FLOOR(MOD(C6,10^15)/10^13,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^15)>=10^13," Neel"," ")&IF(MOD(C6,10^13)>=(2*(10^12))," "&CHOOSE(FLOOR(MOD(C6,10^13)/10^12,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^13),10^12)>=10^11," "&CHOOSE(FLOOR(MOD(MOD(C6,10^13),10^12)/10^11,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^13)>=10^11," "&CHOOSE(FLOOR(MOD(C6,10^13)/10^11,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^13)>=10^11," Kharab"," ")&IF(MOD(C6,10^11)>=(2*(10^10))," "&CHOOSE(FLOOR(MOD(C6,10^11)/10^10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^11),10^10)>=10^9," "&CHOOSE(FLOOR(MOD(MOD(C6,10^11),10^10)/10^9,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^11)>=10^9," "&CHOOSE(FLOOR(MOD(C6,10^11)/10^9,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^11)>=10^9," Arab"," ")&IF(MOD(C6,10^9)>=200000000," "&CHOOSE(FLOOR(MOD(C6,10^9)/10^8,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^9),10^8)>=10^7," "&CHOOSE(FLOOR(MOD(MOD(C6,10^9),10^8)/10^7,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^9)>=10^7," "&CHOOSE(FLOOR(MOD(C6,10^9)/10^7,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^9)>=10^7," Crore"," ")&IF(MOD(C6,10^7)>=2000000," "&CHOOSE(FLOOR(MOD(C6,10^7)/10^6,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^7),10^6)>=10^5," "&CHOOSE(FLOOR(MOD(MOD(C6,10^7),10^6)/10^5,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^7)>=10^5," "&CHOOSE(FLOOR(MOD(C6,10^7)/10^5,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^7)>=10^5," Lakh"," ")&IF(MOD(C6,10^5)>=20000," "&CHOOSE(FLOOR(MOD(C6,10^5)/10^4,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^5),10^4)>=10^3," "&CHOOSE(FLOOR(MOD(MOD(C6,10^5),10^4)/10^3,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^5)>=10^3," "&CHOOSE(FLOOR(MOD(C6,10^5)/10^3,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(MOD(C6,10^5)>=10^3," Thousand"," ")&IF(C6>=10^2," "&CHOOSE(FLOOR(MOD(C6,10^3)/10^2,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),"")&IF(MOD(C6,10^3)>=10^2," Hundred"," ")&IF(MOD(C6,10^2)>=20," "&CHOOSE(FLOOR(MOD(C6,10^2)/10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(C6,10^2),10)>=1," "&CHOOSE(FLOOR(MOD(MOD(C6,10^2),10),1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(C6,10^2)>=1," "&CHOOSE(FLOOR(MOD(C6,10^2),1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(AND(C6>0.99,MOD(RIGHT((ROUND(C6,2))*100,2),10^2)>0)," and","")&IF(MOD(RIGHT((ROUND(C6,2))*100,2),10^2)>0," Paise","")&IF(MOD(RIGHT((ROUND(C6,2))*100,2),10^2)>=20," "&CHOOSE(FLOOR(MOD(RIGHT((ROUND(C6,2))*100,2),10^2)/10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(RIGHT((ROUND(C6,2))*100,2),10^2),10)>=1," "&CHOOSE(FLOOR(MOD(MOD(RIGHT((ROUND(C6,2))*100,2),10^2),10),1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine"),""),IF(MOD(RIGHT((ROUND(C6,2))*100,2),10^2)>=1," "&CHOOSE(FLOOR(MOD(RIGHT((ROUND(C6,2))*100,2),10^2),1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&IF(C6>0.01," Only",""))

    • Thank you very much for creation of Currency in to word Formula.

      it helps me 100% in my profession life..... which solution was searching last 2 years.
      Today, i achieved solution.

    • Wah yar Zabardast.

    • This formula is not working so please correct formula and send on my Email Id, How to convert number in words forment, Like 700 = seven hunderd

    • Amazing & Excellent work. Working fine for me. Thanks a lot for the effort.

    • Am worried for long time how to solve it without macro or VB, but now am very helpful for using this formula in my spread sheet...
      Thanks a lot

    • Much appriciated.
      I was looking for somthing like this ...and You made it.
      GOD Bless you!

    • Thanks alot. It works without VBA and can be easily copied paste.

  16. How to insert Rupees instead of Dollar and Paise instead of Cent in the outcome from above =spellnumber() function ?

  17. By this Indian rupees and paise is not convert in words.Plz solve this problem.

  18. great it worked for me perfectly

  19. HI, im unable to understand and work the formula pls help..

  20. I want to convert numeric value with word form without any currency.
    Pl help me

    • Dear, i also need same as you are demanding.please provide me same function if you have,
      thanks

  21. You can also do it by my function :

    Option Explicit
    Option Base 0
    'Author: thaipv@live.com
    'Date: 30/11/2014
    'Reference: https://support.microsoft.com/kb/95640
    'More: http://www.techonthenet.com/excel/formulas/curr_to_words.php
    Function READNUMBER(ByVal CNUMBER, Optional UPPER As Boolean = True) As String
    Dim DIGIT, ATEEN, ATENS, PLACE(13), READ1__$, READ_23$, READ123$
    Dim NUMBER1 As Byte, NUMBER2 As Byte, NUMBER3 As Byte, V As Byte

    DIGIT = Array("", " one", " two", " three", " four", " five", " six", " seven", " eight", " nine")
    ATEEN = Array(" ten", " elevent", " twelve", " thirteen", " fourteen", " fifteen", " sixteen", " seventeen", " eighteen", " nineteen")
    ATENS = Array("", "", " twenty", " thirty", " forty", " fifty", " sixty", " seventy", " eighty", " ninety")
    PLACE(1) = " trillion,": PLACE(4) = " billion,"
    PLACE(7) = " million,": PLACE(10) = " thousand,"

    If Trim$(CNUMBER) = "" Then
    READNUMBER = ""
    ElseIf Not IsNumeric(CNUMBER) Then
    READNUMBER = "(ò_ó) Hmm, It is too embarrassing! XA can not read this number: " & "'" & CNUMBER & "'"
    ElseIf CNUMBER 10 ^ 15 Then
    READNUMBER = "(ò_ó) Hmm, It is too embarrassing! This number is too large to read."
    Else
    '// Doc dau am/duong cua so tien va xy ly so tien truoc khi doc//
    READNUMBER = IIf(Round(CNUMBER, 0) < 0, "minus", "")
    CNUMBER = Round(Abs(CNUMBER), 0): CNUMBER = "000000000000000" & CNUMBER
    CNUMBER = Replace$(CNUMBER, ",", ""): CNUMBER = Right$(CNUMBER, 15)

    '// Bat dau doc so //
    For V = 1 To 13 Step 3
    NUMBER1 = Mid$(CNUMBER, V, 1)
    NUMBER2 = Mid$(CNUMBER, V + 1, 1)
    NUMBER3 = Mid$(CNUMBER, V + 2, 1)
    READ123 = ""
    READ1__ = IIf(NUMBER1 = 0, "", DIGIT(NUMBER1) & " hundread")
    Select Case NUMBER2
    Case 0: READ_23 = DIGIT(NUMBER3)
    Case 1: READ_23 = ATEEN(NUMBER3)
    Case Else: READ_23 = ATENS(NUMBER2) & DIGIT(NUMBER3)
    End Select
    READ123 = READ1__ & READ_23
    READNUMBER = Trim$(READNUMBER & IIf(Len(READ123) = 0, "", READ123 & PLACE(V)))
    Next V

    '// Xu ly (nhung) dau phay (",") du thua va VIET HOA chu dau tien //
    READNUMBER = IIf(Right$(READNUMBER, 1) = ",", Left$(READNUMBER, Len(READNUMBER) - 1), READNUMBER)
    READNUMBER = IIf(UPPER = True, UCase$(Left$(READNUMBER, 1)) & Mid$(READNUMBER, 2), READNUMBER)
    End If
    End Function

  22. Dear
    We are working in Oman .SO can you please send us the VBA MICRO code for Oman Currency.We write omani currency in three decimal palce
    e.g 450.560 four hundred fifty Rials and five hundred sixty Baiza.
    Pease help me to convert nuemerical Omani currencyin word in excel.
    WITH REGARDS
    MOHAMMED IFTEKHAR AHMED

  23. DEAR FRIENDS, CAN I HAVE THE SAME THAT CAN AUTO SELECT CURRENCY ,,

    SOMETIME IT MAY BE IN USD, EUR, AED, SAR, KWD
    AND SO ON . SO HOW TO ENABLE THE FORMULA FOR MULTIPLE CURRENCY ..

    THANKS

  24. THANKS

  25. how to the change the format to Lakh & Crores instead of Million & Trillion

    • I need your help,
      Please know me Lac & Croers formula,
      very urgent your co operation.
      Best Regards
      Samir.
      Dhaka.

  26. Hi! Thanks for the formula. It works, I have created the VB formula. But I Just need "Ten Thousand" rather than "Ten Thousand Dollors And None Cents?"

  27. I need help from some excel masters. I need excel convert from numbers like $1234.50 ...to text, but writing the cents in the form of 50/100 and word USD at the end...I would really apreciate somebody share this trick please.

    • Hi have u solve this problem? Help plssss

  28. Hi, how can I convert 1,547.50 into "One thousand five hundred forty seven and cents fifty only"?

  29. Very great. Kudos to all who contributed to this knowledge sharing medium. However, it can be improved upon by adding seperators in form of commas ','. For example, converting $1,500.00 into words would be 'One thousand five hundred dollars' rather than 'One thousand, five hundred dollars'.

  30. GREAT HELP . THANKS

    THE WORD """DOLLARS""" AND """CENTS"""

    YOU CAN ALSO USE THE CURRENCY OF YOUR COUNTRY LIKE

    I USE................. """RUPEES""" AND """PAISA"""

    AND ITS WORKING FINE..............

    FOR PAKISTANI CURRENCY..............

  31. how can i change from Dollar to Saudi Riyal

    • JUST SEARCH IN VB ""DOLLARS""""" REPLACE WITH """SAUDI RAYAL"""

      SIMPLE

  32. plsss....I tried it.... but I got error message... LOOP WITHOUT DO.....plss..kindly send the excel file to my mail..... ifelekods @gmail.com. thanks

  33. I need to convert on checks a number without the dollar sign to words with a dollar sign. Can you send me a spread sheet with a working module. I copied and pasted but get a pop up on the VBA. Thanks

    • USE Rahim Zulfiqar AlI'S FORMAUL AND COPY PASTE THE RESULT AS TEXT AND MATCH IT WITH THE ADDITIONAL THAT YOU WANT IT BE REDA WITH

  34. Hi there,

    I really need to fix the format on the big numbers to say "thiry thousand five hundred AND Ninty dollars and fifty four cents"
    I need the AND after the five hundred... please help, I just what to know where to fix the code...

  35. thanks it works

  36. Hi Kudzi

    Tried yr formula but was fail. What do you mean by "NUMBERVALUE"?

    Best Regards.

  37. we convert in indian currency e.g 12(tweleve) in this way not dollar

  38. Superb

  39. how if we don't want the words "dollars" in our converted sentences.. Pls show me the module, Thank you so much.

    • if i no need "dollars" what should i do ?
      the thing i want (1001.10=One thousand one point ten) who know
      pls help me.
      thanks

  40. If you have added the add in like Nick T instructed above, but you say you are filling a checque in excel and you would want

    e.g 4000 to be "four thousand dollars only" and not "four thousand dollars and no cents" but you would also want 4000.36 to be "four thousand dollars and thirty six cents only" when there are cents added.

    lets say the number you want to convert is in cell "B" use the following formula

    '=IF(NUMBERVALUE(RIGHT(B6,2),".",",")>0,CONCATENATE(UPPER(SpellNumber(B6))," ONLY"),CONCATENATE(LEFT(UPPER(SpellNumber(B6)),LEN(UPPER(SpellNumber(B6)))-12)," ONLY"))

  41. thanks Nick T

  42. I came across an article on another site, to embed this function permanently into Excel, without it being a macro and creating opening and saving nightmares.

    Similar process as listed above, and as you may have seen before, but with a twist...

    >> Open a blank workbook in Excel
    >> Hit ALT-F11
    >> On the top menu, select Insert>Module
    >> Copy and paste the above mentioned VBA code (from the original post, way up top)
    >> Back in VBA, on the top menu, select File>Save Book#
    >> Once in the Save As menu, go down to "Save as type:", click the down arrow, and select "Excel Add-In"
    >> Type a file name of your choosing, (I chose SpellNumber) and choose a file location you'll remember. (the predefined location will work just fine, but you may want to note the location, just in case.
    >> Close out of the VBA editor
    >> On the top main Excel menu, select File>Options
    >> In the Excel Options menu, on the left side, select "Add-Ins"
    >> In the Add-ins menu, at the bottom, under "Manage:" click the down arrow, and select "Excel Add-ins", and then click "Go..."
    >> In the subsequent Add-ins menu, on the right side, click "Browse..."
    >> In the Browse pop-up, you may or may not see the add-in that you previously created and saved. If you see it, select it and click OK. If you do not see it, navigate to the location where you saved it, then select the file and click OK.
    >> Now back in the previous Add-ins menu, you will see your Add-in in the list. If it's box is not checked, click to check it at this time, then on the right, click OK.
    >> Your Add-in will now load every time you open Excel, allowing you to use and perform this function all the time. Also, it is now an add-in, not a macro, so will not create the hassles macro-enabled workbooks carry.
    >> To actually use the function, simply start typing =Spellnu the function should auto populate. Double-click the popup, select the cell you want spelled out, close the parenthesis ), and voila!

    • Thnku.. Nick T...It works..

      • nick how can i change the currency into peso..

        thank you.

        • Hello change all "dollars" into pesos

          works for me

    • Dear Mr. Nick T, What should I change in this formula if I Have to write the word for example Taka 9,875 (Taka Nine Thousand Eight Hundred and Seventy Five Only ) ? would You likely to help me to get rid off it ? Thanks

    • Thank you NickT, this helped me at work a lot. I have a question tho, I've been playing with the macro functions but i don't seem to be able to get the fills/cents in this format "50/100" "30/100" "89/100" do you have a function i can use for it?
      In the link https://goo.gl/tdBmGQ is the current macro i used as i don't want any currency, also i wanted the word only at the end but i manage that just adding & only at the end it works as well, so not too important that one.
      I would really appreciate if you could help me out with that function.

      Many many thanks!!!!

    • Indeed! It works!

      Thanks for this!

  43. your solution is amazing but i wonder if i just want the number as it is without dollars without saudi rayal without any currency name , how can i do that in the module

  44. if my number is $500.07 and my word want to convert to "Say Dollars Five Hundreds and cents Seven Only). What is the format for this?

    • Thanks for your help...

  45. can you please provide me the easiest way to find spellnumber to convert numbers to words

  46. very helpful thanks indeed

  47. hi sir
    please help me to do spellnumber code in check format

    Ex. if i type $1,000.15
    it will be ***One Thousand Dollar and 15/100 Only***

    im so glad if you help me

    thank you :D

  48. There is some Error in this formula becouse the every time after close Excel file then we open next time file we have need to microsoft visual basic for application and save the same seting again and agian. we want to that after one time save the setting the formula contuning in work.

  49. Hi! Thanks for the formula. It works, I have created the VB formula. But what should I do if I only want the words "Six Only" rather than "Six Dollars and None Cents?"

    My currency happens to be different so I prefer without the currency in words. Thanks!

    • Change the Dollars & " Dollars" to Dollars only without quotation marks mean give only variable name and & to forward part be omitted.

  50. You can also do it by Formula:

    =TRIM(IF(A2=10^5,CHOOSE(FLOOR(MOD(A2,10^6)/10^5,1)+1,"","One","Two",Three","Four","Five","Six", "Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen",
    "Seventeen","Eighteen","Nineteen")&" Hundred","")&IF(MOD(A2,10^5)>=20000," "&CHOOSE(FLOOR(MOD(A2,10^5)/10^4,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety")&IF(MOD(MOD(A2,10^5),10^4)>=10^3," "&CHOOSE(FLOOR(MOD(MOD(A2,10^5),10^4)/10^3,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen", "Seventeen","Eighteen","Nineteen"),""),IF(MOD(A2,10^5)>=10^3," "&CHOOSE(FLOOR(MOD(A2,10^5)/10^3,1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&" Thousand") & IF(A2=10^2," "&CHOOSE(FLOOR(MOD(A2,10^3)/10^2,1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen", "Seventeen","Eighteen","Nineteen")&" Hundred","")&IF(MOD(A2,10^2)>=20," "&CHOOSE(FLOOR(MOD(A2,10^2)/10,1)+1,"","","Twenty","Thirty","Forty","Fifty","Sixty", "Seventy","Eighty","Ninety"
    )&IF(MOD(MOD(A2,10^2),10)>=1," "&CHOOSE(FLOOR(MOD(MOD(A2,10^2),10),1)+1,"","One","Two","Three","Four","Five","Six", "Seven","Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen", "Seventeen","Eighteen","Nineteen"),""),IF(MOD(A2,10^2)>=1," "&CHOOSE(FLOOR(MOD(A2,10^2),1)+1,"","One","Two","Three","Four","Five","Six","Seven", "Eight","Nine","Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen", "Eighteen","Nineteen"),""))&""))

    • I'm really sorry, when you posted the formula, an error occurred. So and pasting it to Excel directly doesn't work. Please send us the working copy in an Excel file. I will be happy to add your formula to the article and sign it with your name.

      • Please let me have your email so that I can send you my excel file for you to insert your formula to convert number to words
        Thanks a million
        Stephen

        • Please send us the working copy in an Excel file. I will be happy to add your formula. My email address is
          digital851@gmail.com

          • Email sent.

          • Hi,
            Please send me also this formula

        • I shall be very thankful to you if you send me excel file

        • Please send me same excel sheet with formula,

          Many Thanks

        • Dear Stephen Please if you can send me same excel file in my email.I will be thank full to your great support.Thanks Ali Khan

        • Dear Stephen,

          please send me excel sheet for converting same

        • Please send me the formula!

        • Sir Please send me excel File.
          I Shall be thankful to You for this act of kindness.

        • Kindly send me also a copy of that formula thanks

          Please need it asap

        • please send above said excel file

      • Email ?

      • Good morning, pls send me the formular as well.

        Thanks
        Ibrahim

    • How would you trim this formula down if you're only using whole numbers between 1 and 12?

    • Yes it is working. But not reading Hundred.?
      Reply me

    • Can you also send me a copy of your excel file. Please. It will help me a lot with my project.

    • Dear, can you please share the excel with formula... it would be very helpful in my project.

      I am looking for a formula not a vb code. Thank you.

    • I have tried and it was successful. But it was all in dollars.. How about in Qatar Riyals? How can i do it? Can you feed the module formula?

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)