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. Sir, If We Want to Remove Cents What Will We Don Please Reply me

  2. Sir, If We Want to Remove Cents What Will We Don Please Reply me

  3. In spanish we do not say "Three hundred" in two words, we say "Trecientos" in one word. Is there a say to add another clause to list numbers from 100-999
    I try to add this but I am getting an error

    Else ' If value between 100-999...
    Select Case Val(Left(TensText, 1))
    Case 20: Result = "Ciento"
    Case 21: Result = "Doscientos "
    Case 22: Result = "Trescientos "
    Case 23: Result = "Cuatrocientos "
    Case 24: Result = "Quinientos "
    Case 25: Result = "Seicientos "
    Case 26: Result = "Setecientos "
    Case 27: Result = "Ochocientos "
    Case 28: Result = "Novecientos "

  4. I was able to use the SpellNumber successfully for all numbers except for numbers that are only in the thousands with any other numbers (e.g. 54,000 or 30,000). I get two spaces before the word Dollars. I had a similar problem with numbers that ended in the hundred dollars and numbers that ended with 20, 30, 40, 50, 60, 70, 80 and 90. To fix the problem, I changed the GetHundreds = Result to GetHundreds = Trim(Result) and GetTens = Result to GetTens = Trim(Result). I don't know how to change the code for numbers that are only in the Thousands.

  5. i need to display my currency in riyal instead of dollars ...

  6. I write this formula

    =CONCATENATE("US ",spellnumber(cell),"***")

    I don't know what's wrong it issue "Name?" Anyone can answer me?

    Many Thanks,
    Alicia

  7. This is awesome! I know nothing about VBA but it still made it happen with this so Thanks a ton. however, how do I exclude cents/paisa from the code?i.e. will not need any decimals.

    Thanks again.

  8. Hello Prem,
    Thanks,man. it helped me out.

    Regards:
    Mozammel
    Chittagong, Bangladesh.

  9. Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2007

  10. modules after what are the doing 1

  11. modules after what are the doing

  12. Hi, Congrats, It is very helpful. Thank you so much.
    How to make change the words starting with Dollars & Cents first.
    Eg. Rupees One hundred and Paisa Fifty Only instead of One hundred Rupees and Fifty Paisa Only.

    Br//
    Prem

  13. Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2007.

    Also please suggest me how to use spellnumber in excel ,i fallowed your steps as u say ,the results came" #name?,",like that,so plz show me right usage
    I am waiting for your reply Thanks Muhammad Ashfaq from Pakistan Karachi.....

  14. Hi Dear, Can you pleases help to fix the decimal up to 3 Digit. Like below:

    45.975 -Forty Five Dollar and Nine Hundred seventy Five Cents.

  15. Please send details of excel sheet in permanent add for automatically spellnumber on MS excel- 2016

    Awaiting for reply...

  16. Dear David ,
    In reference to Irina's chat string the same sheet is required by me .I am unable to poke in hours in preparing the formulation ready sheet
    Much oblighed
    Sincerely 'very faithfully
    CEEN

  17. UpTo 1 Lac Not Convert To In Word Please Help

  18. Hi Irena

    I have emailed you the document as requested. Hope you can help :)

    • Thank you for the document, David.

      The problem is that the formula results are rounded in Excel, while VBA gets a string and converts only the first 2 characters after the separator. To avoid this issue, please use the following formula instead:
      =spellnumber(ROUND(N24,2))

  19. Hi, I have an issue where i am trying to spellnumber a figure in a summed cell. I have changed the currency to GBP and Pence, but the spell number keeps minusing 1 Pence from the written number. If i do it on an un-summed cell it works fine.

    PLEASE HELP!?

    • Hello David,
      I'm sorry, but we can't reproduce this issue on our side, the function spells numbers from a summed cell correctly. Could you try to follow the steps from the post again and check if it works for you?

      • HI Irina
        It was only happening between numbers involving 40-70. Very strange as other than that it works perfectly other than not putting an 'and' in after hundred but we can add that in no probs.

        Quite happy to send the doc if required.

        • Hi David,
          Thank you for the details. It would be great to have a look at the document, please send it to support@ablebits.com with a link to this post, it may help us understand what is causing this strange behaviour.

  20. I have a file containing multiple sheets the first of which is an index
    sheet. The other sheets are hidden. I want to be able to click on a
    hyperlink in the index sheet that will send me to the hidden sheet and
    open it.
    Is this possible ?

  21. 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?

  22. Please email formula convert number to word

  23. Many thanks to admin

  24. Please email formula convert to Ringgit Malaysia (RM)

  25. Please kindly send me the formula also.
    Many thanks.

  26. Please send me also

  27. I have follwed your instruction & But still the error as #Name is apprearing on the spell number formula. please help

  28. Thnks for ur help. Its been a pleasure to have guidance.

  29. Very useful and clear explanation. 5 Star:D
    Thank you for sharing this information with us.

  30. Dear sir, please how to make wordstodigit formula details

  31. Please send me the excel sheet for converting dollars to words. I tried to paste from an earlier Spellnumber post using VBA but I get a #Name error.

    Thank you.

    • The VBA code from the example above works perfectly when we try it. Please, repeat the steps from the tutorial making sure that you paste the code without losing any lines, and save your document in the proper way as it is described. If this still doesn't help, try our add-in. If the error won't disappear, send us your workbook and the link to this article and your comment to support@ablebits.com.

  32. It is very simple to convert dollar into your currency for example if you have a Rupee go to Module (micro-soft visual basic) enter Ctrl + R just replace dollar and cent with your currency.

    Thanks for more details kindly contact on my email. asifashraf930@gmail.com

  33. What if I would like to put a special name?
    ex. for 100 will be "clint"

    Therefore,
    100 = Clint
    150 = Clint Fifthy
    123 = Clint Twenty Three
    etc..

    NB: Only for "100"

  34. Hi all,
    Can someone assist me to write
    1020 as one thousand and twenty not one thousand twenty please.
    Thank you in advance

    • Just put "and ..." on GetTens' function, dude

  35. Working done ,
    after save i close this file again open try modify and try change then its showing error

  36. how to delete the rows using check bos in excel.

  37. Thank you! Copied and pasted the module, saved my file as an .xlm and bada-boom!

  38. Dear Sir please send me the copy of these excel sheet please ,as soon as possible , please please

  39. Dear . Alexander Frolov
    Thanks for the formula, its works nicely

  40. How can we split the amount in words into 2 lines in case 1 line is not enough to accommodate the amount in words? This is needed when printing on pre-printed cheque leaves.

    Can anyone please help on the above?

  41. Can i get modules for spellnumbers in words with cents. I have those modules with currency. But i'm using multi currencies so i don't want modules with currencies. Please help email me the modules which i request. Urgent. Please and Thanks.

    Regards,
    Puvanah

  42. Please the code to convert amount to words is excellent, only i think there's something missing. after the code is pasted in Excel Module, and you key-in 420, the result that comes is: Four Hundred Twenty Dollars and No Cents. But am expecting Four Hundred and Twenty Dollars and No Cents. This means the an "and" is missing in-between Hundred and twenty. Thank you and looking forward to hear from you soon.

  43. i use the module, but our central bank required us to put a "ONLY" word in the end of the Check. how can i do this?

  44. Hi Sir,

    I am very much need the program that convert the numbers in to English words in excel 2007.(Ex: 11- One One, 20- Two Zero, 21-Two Zero like that)
    Please send me the solution for above querry,

    it is very much urgent..
    thank you very much..

  45. i want number to ward in rupees and due to this formula it comes into dollars, than what's the step for it..............

  46. please suggest me how to use spellnumber in excel ,i fallowed your steps as u say ,the results came" #name?,",like that,so plz show me right usage .....

  47. Dear Stephen,

    please send me excel sheet for converting same Pls

    thanks

  48. Dear Kindly let me know in dirham how to change spellnum in dirham

  49. I have a lot of city name and code

    Example
    i type a code 001 At Cell (A1) - spell Number will show (american) at the another sheet
    i type a code 002 At Cell (A1) Also - spell Number will show (african) at the another sheet and so on... I have a lot of city name to make it, please help me

    Thanks

  50. Dear Stephen,
    please send me excel sheet for
    converting same

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 :)