ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • About
  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Text
  3. How to Convert a Number to Words in Excel

How to Convert a Number to Words in Excel

By ExcelReady Team·Updated November 3, 2026·6 min read

The short answer

Excel has no built-in function to convert a number to words in English. You have three options: a formula that uses CHOOSE to spell out each digit group, a reusable LAMBDA function in Microsoft 365, or a VBA macro such as the SpellNumber code Microsoft publishes. For big numbers, split it into three-digit groups with TEXT and MID.

Key takeaways

  • There is no SPELLNUMBER function in Excel; only BAHTTEXT exists, and it writes Thai.
  • A CHOOSE formula can spell any whole number from 0 to 999 with no macros.
  • TEXT(A2,"000000000") pads a number to 9 digits, and MID pulls out the millions, thousands and units groups.
  • For cheques, write the cents separately with ROUND(MOD(A2,1)*100,0).
  • Words are text: keep the original number in its own cell for any maths.
On this page+
  1. Does Excel have a function to convert numbers to words?
  2. How to spell out numbers from 0 to 999 with a formula
  3. How to split big numbers into groups with TEXT and MID
  4. How to add dollars and cents for cheques and invoices
  5. How to make it reusable with LAMBDA in Microsoft 365
  6. When to use a VBA macro instead
  7. Practise it

Excel has no built-in function to convert a number to words in English, so 742 won't turn into "seven hundred forty-two" with one click. You can still do it with a formula, a reusable LAMBDA in Microsoft 365, or a short macro. This guide shows all three, starting with a formula you can paste in today, and explains how to handle thousands, millions and cheque-style cents for invoices and payment forms.

Does Excel have a function to convert numbers to words?#

No. There is no SPELLNUMBER or NUMBERTOWORDS function in any version of Excel. The only related function is BAHTTEXT, which writes a number as Thai text with the currency name, so it doesn't help for English.

That leaves three practical routes:

MethodWorks inGood forWatch out for
CHOOSE formulaAll versionsOne-off sheets, no macros allowedLong formula
LAMBDA functionMicrosoft 365 and Excel 2024Reusing it like a real functionNot in older versions
VBA macro (SpellNumber)Desktop ExcelMany files, currency wordsMust save as .xlsm; macros may be blocked

Whichever you pick, the result is text. Keep the real number in its own cell so totals still work.

How to spell out numbers from 0 to 999 with a formula#

A number below 1,000 has a hundreds part and a remainder from 0 to 99, and CHOOSE can turn each part into a word. CHOOSE picks an item from a list by position: =CHOOSE(3,"one","two","three") returns "three".

With the number in A2, this formula spells any whole number from 0 to 999:

Excel formula
=TRIM(IF(A2>=100,CHOOSE(INT(A2/100),"one","two","three","four","five","six","seven","eight","nine")&" hundred ","")&IF(MOD(A2,100)<20,CHOOSE(MOD(A2,100)+1,"","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"),CHOOSE(INT(MOD(A2,100)/10)-1,"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety")&IF(MOD(A2,10)>0,"-"&CHOOSE(MOD(A2,10),"one","two","three","four","five","six","seven","eight","nine"),"")))

It looks long, but it has only three pieces:

  1. Hundreds. INT(A2/100) gives the hundreds digit, and CHOOSE turns it into a word plus " hundred ".
  2. 0 to 19. MOD(A2,100) is the remainder after the hundreds. If it is under 20, CHOOSE picks the word from a list of 20 (the first item is empty, for zero).
  3. 20 to 99. Otherwise, the tens word comes from INT(MOD(A2,100)/10) and the units word from MOD(A2,10), joined with a hyphen.

TRIM removes the extra space left after "hundred" when there is no remainder. Some results:

A2Result
742seven hundred forty-two
365three hundred sixty-five
100one hundred
40forty
15fifteen

INT and MOD do the digit work here; the guide to the MOD and INT functions explains them. British and Indian English usually add "and" after hundred ("seven hundred and forty-two"). To get that, replace &" hundred " in the formula with &" hundred"&IF(MOD(A2,100)>0," and "," "). The "and" then appears only when there is a remainder, so 100 stays "one hundred".

How to split big numbers into groups with TEXT and MID#

Numbers in the thousands and millions are spelled one group of three digits at a time. To get the groups, pad the number to nine digits with the TEXT function, then cut it up with the MID function.

For 4,725,310 in A2:

CellFormulaResult
B2 (millions)=VALUE(MID(TEXT(A2,"000000000"),1,3))4
C2 (thousands)=VALUE(MID(TEXT(A2,"000000000"),4,3))725
D2 (units)=VALUE(MID(TEXT(A2,"000000000"),7,3))310

TEXT(A2,"000000000") returns the text "004725310": the zeros in the format force nine digits, the same trick that keeps leading zeros on IDs. MID(text, start, length) then takes three characters from position 1, 4 or 7. VALUE turns each group back into a number.

Now copy the 0–999 formula into E2, F2 and G2, pointing at B2, C2 and D2 instead of A2. Join the words with the group names:

Excel formula
=TRIM(IF(B2>0,E2&" million ","")&IF(C2>0,F2&" thousand ","")&G2)

The result is four million seven hundred twenty-five thousand three hundred ten. The IF tests skip empty groups, so 1,005 becomes "one thousand five" and 2,000,000 becomes "two million". Joining text with & is covered in the guide to combining text in Excel. This setup handles whole numbers up to 999,999,999.

For lakhs and crores, keep the last three digits as one group, then split the remaining digits into pairs from the right: MID(TEXT(A2,"000000000"),5,2) is the thousands pair, position 3 is the lakhs pair and position 1 is the crores pair.

How to add dollars and cents for cheques and invoices#

Payment documents often show the amount in words with the cents as a fraction, like "one thousand two hundred fifty and 45/100". Split the amount into whole units and cents first. For 1,250.45 in A2:

  • Whole part: =INT(A2) returns 1250. Spell this with the formulas above.
  • Cents: =ROUND(MOD(A2,1)*100,0) returns 45. ROUND fixes the tiny decimal errors that MOD can leave.

Then add the fraction to the words, with H2 holding the words for the whole part:

Excel formula
=H2&" and "&TEXT(ROUND(MOD(A2,1)*100,0),"00")&"/100"

The "00" format keeps two digits, so 5 cents shows as 05/100. Many invoice templates put this line under the total; the guide to building an invoice with formulas shows where it fits. For more TEXT format codes, see the TEXT function's formats.

How to make it reusable with LAMBDA in Microsoft 365#

LAMBDA lets you save a formula as your own named function, so you type =WORDS999(A2) instead of the long formula. It needs Microsoft 365 or Excel 2024.

  1. Go to Formulas > Name Manager > New.
  2. Name it WORDS999.
  3. In Refers to, type =LAMBDA(n, ...), pasting the 0–999 formula in place of the dots and replacing every A2 with n.
  4. Click OK. Now =WORDS999(742) returns "seven hundred forty-two" anywhere in that workbook.

The function belongs to that one workbook, so add it to a template if you use it often.

When to use a VBA macro instead#

A macro is the best choice when many files need amounts in words with currency names. Microsoft Support publishes a VBA function called SpellNumber in its article on converting numbers into words. You paste it into a module in the Visual Basic editor (Windows: Alt+F11; Mac: Tools > Macro > Visual Basic Editor), then use =SpellNumber(A2) like any function.

Keep three limits in mind. The file must be saved as an .xlsm macro-enabled workbook. Many companies block macros from files that come by email. And Excel for the web doesn't run VBA. If any of these apply to you, use the formula or LAMBDA route.

Practise it#

Spelling numbers is mostly a text job: cutting digits out with MID and joining words with &. Try the exercise on this page, then practise converting between text and values in a live spreadsheet and practise joining text with & and TEXTJOIN. Each lesson checks your formula instantly.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

To spell out a big number, you first split it into groups of three digits. Click C2 and use TEXT and MID to return the thousands group of the number in B2 (the 725 in 4,725,310): pad the number to 9 digits with TEXT, then take 3 characters starting at position 4.

fx
ABCD
1
Item
Amount
Thousands group
2
Contract value
4725310
3
4
5
6

Tip: TEXT(B2,"000000000") gives 004725310. MID(...,4,3) takes 3 characters starting at position 4.

Practise this in a lesson

LessonTEXT and VALUE: numbers to text and backFormat dates and dollar amounts inside sentences with TEXT, and turn digits stored as text into real numbers with VALUE.LessonJoining text: &, CONCAT and TEXTJOINBuild full names, addresses and tag lists by joining text with &, CONCAT and TEXTJOIN.Function guideTEXTFormat dates, prices and percentages inside labels with Excel's TEXT function. Format codes, common mistakes and a live practice exercise.Function guideMIDPull characters from any position with Excel's MID. Extract IDs, email domains and text between brackets with FIND. Examples and live practice.

Frequently asked questions

Is there a formula to convert numbers to words in Excel?

+

Not a built-in one. You can build a formula with CHOOSE, INT and MOD that spells numbers up to 999, then repeat it for thousands and millions. In Microsoft 365 you can save it as a LAMBDA so it works like a normal function.

How do I use SpellNumber in Excel?

+

SpellNumber is not built in. It is VBA code you paste into a module through the Visual Basic editor (Alt+F11 on Windows). Then you can type =SpellNumber(A2). Save the file as an .xlsm macro-enabled workbook.

How do I write an amount in words on a cheque in Excel?

+

Spell out the whole-number part with a words formula, then add the cents as a fraction: TEXT(ROUND(MOD(A2,1)*100,0),"00")&"/100". For 1,250.45 that gives words for 1,250 followed by and 45/100.

Can Excel convert numbers to words in lakhs and crores?

+

Yes, but the groups are different. Take the last three digits as hundreds, then split the remaining digits into pairs for thousands, lakhs and crores, and add those words instead of thousand and million.

Why doesn't my number in words add up?

+

A number in words is text, so SUM and other maths ignore it. Keep the real number in one cell and the words in another cell that refers to it.

Sources

  • TEXT function - Microsoft Support
  • MID, MIDB functions - Microsoft Support
  • CHOOSE function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 3, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. Does Excel have a function to convert numbers to words?
  2. How to spell out numbers from 0 to 999 with a formula
  3. How to split big numbers into groups with TEXT and MID
  4. How to add dollars and cents for cheques and invoices
  5. How to make it reusable with LAMBDA in Microsoft 365
  6. When to use a VBA macro instead
  7. Practise it

Keep reading

Text· 6 min read

The TEXT Function: Format Numbers and Dates Inside Text

The TEXT function turns a number or date into text with the format you choose: =TEXT(value, format_text). For example, =TEXT(B2,"mmm d, yyyy") shows a date as Feb 3, 2025, and =TEXT(C2,"$#,##0.00") shows $1,250.50. Use it when you join numbers or dates to words, because & otherwise shows the raw stored number.

Text· 7 min read

How to Combine Text in Excel (&, CONCAT, TEXTJOIN)

To combine text in Excel, join the pieces with &: =A2&" "&B2 turns Nora and Delgado into Nora Delgado. CONCAT does the same with a list of pieces. TEXTJOIN puts the same separator between every piece and can skip empty cells: =TEXTJOIN(", ",TRUE,C2:E2). Type spaces and commas yourself, inside double quotes.

Projects· 6 min read

Create an Invoice in Excel With Formulas

To create an invoice in Excel with formulas, keep a price list on its own sheet and use VLOOKUP to bring each item's description and price into the invoice from its code. Multiply quantity by price for each line, add the lines with SUM, work out tax with ROUND so it shows exact cents, and add a due date by adding the payment terms to the invoice date.

More on text

  • Excel REGEX Functions: REGEXTEST, REGEXEXTRACT, REGEXREPLACE
  • How to Remove Characters From Text in Excel
  • Remove Duplicates Within a Cell in Excel
  • Remove the First or Last Characters in Excel
  • Remove Line Breaks From Cells in Excel
  • How to Remove Numbers From Text in Excel
All text articles →

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free