Convert Numbers to Words in Excel (No VBA, US/Global)

Published on

When preparing invoices or financial documents, you often need to spell out amounts in dollars and cents. However, Excel does not include a built-in function to convert numbers into words (such as “One Thousand Two Hundred Dollars and Fifty Cents”).

With Excel 365 and Excel 2024, you can build your own number-to-words converter using modern dynamic functions like LET, LAMBDA, MAP, and more—no VBA required.

This tutorial shows you how to convert numbers to words in Excel using the US/International numbering system.

The formula supports numbers up to 10¹⁵ (one quadrillion)—that is, up to 15 digits plus two decimal places.

What Is the US/International Numbering Format?

The US/International numbering system is used in most countries around the world, including the United States, Europe, the Middle East, and Africa.
It groups digits in sets of three, and the naming pattern increases as:

Thousand → Million → Billion → Trillion → Quadrillion → Quintillion → …

Examples

  • 1,000 = One Thousand
  • 1,000,000 = One Million
  • 1,000,000,000 = One Billion
  • 1,000,000,000,000 = One Trillion

Our Excel number-to-words formula follows this system and uses the currency text “Dollars” and “Cents” when spelling out amounts. If your country uses the same numbering pattern but a different currency, you can simply replace Dollars and Cents with your own currency names.

I’ll show you exactly how to customize the currency text after introducing the number-to-words formula.

> Disclaimer

This number-to-words formula is provided for convenience and general guidance. While it works for most cases, please verify outputs before using them in official, financial, or legal documents. The author and this blog are not responsible for any errors or consequences arising from its use.

Formula to Convert Numbers to Words in Excel (US/International Format)

Assume the amount you want to convert is in the cell range A2:A10.

In cell B2, enter the formula below and then drag it down to B10:

=LET(
  x, A2, dollars, INT(x), cents, ROUND((x-INT(x))*100, 0),
  limit, SEQUENCE(MIN(ROUNDUP(LEN(TEXT(dollars,"0"))/3, 0), 5)),

  scale_word, LAMBDA(n, CHOOSEROWS(VSTACK("", "Thousand", "Million", "Billion", "Trillion"), n)),

  word_1_19, LAMBDA(n, CHOOSEROWS(VSTACK(
      "One","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Eleven",
      "Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"), n)),

  word_tens, LAMBDA(n, CHOOSEROWS(VSTACK(
      "","Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"), n)),

  word_1_99, LAMBDA(n, IF(n<20, word_1_19(n),
      TEXTJOIN("-", TRUE, word_tens(INT(n/10)), IFERROR(word_1_19(MOD(n, 10)),"")))),

  word_1_999, LAMBDA(n, LET(h, INT(n/100), r, MOD(n, 100),
      TEXTJOIN(" ", TRUE,
        IF(h=0, "", word_1_19(h) & " Hundred"),
        IF(r=0, "", word_1_99(r))))),

  number_words, LAMBDA(n,
      TEXTJOIN(" ", TRUE,
        SORTBY(
          MAP(limit, LAMBDA(i,
            LET(part, INT(MOD(n / 1000^(i-1), 1000)),
              word_1_999(part) & " " &
              IF(part=0, "", scale_word(i))
            )
          )),
        limit, -1)
      )
  ),

  IF(
    AND(ISNUMBER(x), x >= 0, x < 10^15),
    TRIM(TEXTJOIN(" ", TRUE,
      IF(dollars=0, "Zero", number_words(dollars)),
      IF(dollars=1, "Dollar", "Dollars"),
      "and",
      IF(cents=0, "No Cents", IF(cents=1, "One Cent", word_1_99(cents) & " Cents"))
    )),
    "Out of Range"
  )
)

This formula converts numbers into words following the US/International numbering system.

Example of Excel formula converting numbers to words in US/Global format

Modifying the Currency Labels

If your country follows the US/International numbering system but uses a different currency, you can easily customize the formula by replacing the currency words “Dollar(s)” and “Cent(s)”. These terms are highlighted for your convenience.

For example:

  • Dirham & Fils
  • Riyal & Halala
  • Euro & Cent
  • Pound & Pence
  • Peso & Centavo
  • Dinar & Fils

The number-to-words logic remains exactly the same — only the currency text changes.

Optional: Create a Reusable Named Function

You can turn the number-to-words formula into a reusable Named Function, giving it the convenience of a built-in Excel function. Once set up, you can type =NUM_TO_WORDS(A2) anywhere in your workbook to convert numbers to words without copying the full formula each time. This keeps your worksheets tidy and makes repeated conversions effortless.

Excel NUM_TO_WORDS Named Function converts a number to words in US/global format

Steps to Create the NUM_TO_WORDS Named Function

1. Modify the formula

  • Wrap the full LET formula inside:
=LAMBDA(amount, LET_block_here)

(Replace LET_block_here with the number-to-words formula provided above.)

  • Replace the reference A2 in the LET block with amount.

2. Create the Named Function

  • Go to Formulas → Name Manager.
  • Click New.
  • Set Name: NUM_TO_WORDS
  • In Refers to, paste the modified formula.
  • Click OK, then Close.

3. Use it anywhere in the workbook

  • Now, simply type:
=NUM_TO_WORDS(A2)

This approach makes your workbook easier to read and maintain by giving the formula a native-function-like usage. It is ideal for templates such as invoices and financial forms.

How the Formula Works (Explained Step-by-Step)

This section breaks down the number-to-words Excel formula into simple, easy-to-follow parts. Even though the full formula looks long, it is built from small logical blocks that work together to convert any number into clear English words.

1. Store the Input and Separate Dollars & Cents

The formula begins with the LET() function, which stores your input number (A2) as x.
It then splits the amount into:

  • dollars → the whole number part
  • cents → the decimal part converted to a 0–99 value

This separation makes calculations faster and easier to manage.

2. Determine How Many Scale Levels Are Needed

Large numbers (thousand, million, billion, etc.) are built in groups of three digits.

The formula uses:

limit = SEQUENCE(...)

This tells Excel how many 3-digit groups the number contains. Examples:

  • 523 → 1 group
  • 12,450 → 2 groups
  • 7,340,112 → 3 groups

Sometimes, the number in the cell may be formatted as Currency or Accounting instead of a plain number. Using TEXT(..., "0") ensures a clean numeric string for digit counting.

3. Define Scale Words (Thousand, Million, Billion…)

The formula contains an internal list of scale names used in the US/International numbering system:

(blank), Thousand, Million, Billion, Trillion

When Excel breaks a number into 3-digit groups, it assigns scale words based on each group’s position from the right:

  • Group 1 → (blank)
  • Group 2 → Thousand
  • Group 3 → Million
  • Group 4 → Billion

Example: 1,234,567

  • Group 1 → 567
  • Group 2 → 234
  • Group 3 → 1

So the scale words are (blank) → Thousand → Million.

The scale_word LAMBDA function retrieves the correct scale name for each group, ensuring the final output uses proper words for thousands, millions, billions, etc.

4. Word List for Numbers 1–19

Numbers below 20 are irregular in English, so the formula stores them in a ready-made list:

One, Two, Three, … Nineteen

This allows Excel to retrieve the correct word instantly without extra conditional logic.

The custom LAMBDA function that handles this list is word_1_19.

5. Word List for Tens (20, 30, 40, …, 90)

Tens multiples in English follow a regular pattern, so the formula stores them in a separate list:

Twenty, Thirty, Forty, Fifty, Sixty, Seventy, Eighty, Ninety

Two-digit numbers above 19 (e.g., 42) are built by combining the tens word with the units word:

  • Tens word → Forty
  • Units word → Two

The custom LAMBDA function that handles this list is word_tens.

6. Convert Any 1–99 Number to Words

A helper LAMBDA function, word_1_99, converts numbers from 1 to 99 into words:

  • If number < 20 → use word_1_19
  • If number ≥ 20 → combine word_tens with word_1_19

This approach correctly converts all two-digit numbers into words, automatically adding a hyphen when needed (e.g., Forty-Two, Fifty-Seven) without extra conditional logic.

word_1_99 = LAMBDA(n, IF(n<20, word_1_19(n),
    TEXTJOIN("-", TRUE, word_tens(INT(n/10)), IFERROR(word_1_19(MOD(n, 10)),""))))

7. Convert Any 1–999 Number to Words

A helper LAMBDA function, word_1_999, converts numbers from 1 to 999 by handling each three-digit block separately:

  • Hundreds digit → converted using word_1_19
  • Remaining 1–99 digits → converted using word_1_99

The two parts are combined with a space as needed.

Example: 284 → "Two Hundred Eighty-Four"

This function is a building block for converting larger numbers into thousands, millions, and beyond, allowing Excel to process each three-digit segment efficiently.

8. Split the Whole Number Into 3-Digit Groups

The number_words function uses MAP and SEQUENCE to divide the main number into manageable three-digit groups:

  • Units group
  • Thousands group
  • Millions group
  • …and so on
Excel GIF showing number_words splitting numbers into 3-digit groups

Each group is converted using word_1_999 and combined with its corresponding scale word from scale_word.

The SORTBY function is then used to reorder the groups from highest to lowest scale so that the final text reads correctly from millions → thousands → units, regardless of how the groups were processed internally.

Example: 5,321,450

  • 5 → Million
  • 321 → Thousand
  • 450 → (no scale word)

This structured approach, with SORTBY ensuring correct order, allows Excel to handle very large numbers cleanly and efficiently.

9. Combine All Groups Into a Single Phrase

The formula uses TEXTJOIN to:

  • Merge all non-empty pieces
  • Keep words in the correct order
  • Remove extra spaces

Example output:

Five Million Three Hundred Twenty-One Thousand Four Hundred Fifty

10. Add the Currency Words (Dollars and Cents)

At the final step, the formula attaches:

  • Dollar / Dollars
  • Cent / Cents

It automatically handles pluralization based on the numbers. You can replace these with any currency (Dirhams & Fils, Riyals & Halalas, etc.).

11. Handle Special Cases

The formula also includes logic for:

  • Zero Dollar amounts
  • Zero Cents
  • One Dollar / One Cent (correct singular form)
  • Out-of-range numbers (above 999,999,999,999,999)

FAQs

Q1: Can I use this formula in Google Sheets?
No. This formula relies on Excel-specific functions like LET, MAP, SORTBY, and CHOOSEROWS. Google Sheets handles some of these functions differently or requires alternatives. For example:

For a Google Sheets-compatible version, see: Convert Numbers to Words in Google Sheets (US & Indian Formats).

Q2: Can I use this formula for Lakhs and Crores (Indian) formats?
No. Converting numbers into Lakhs and Crores requires a slightly different logic and scale system. For an Indian-format solution, see: Rupees to Words Excel Formula (Lakhs, Crores, No VBA).

Conclusion

This Excel formula demonstrates how complex number-to-word conversion can be broken down into small, reusable LAMBDA functions. By processing numbers in 3-digit groups, applying scale words, and handling edge cases like zero, singular/plural forms, and large numbers, Excel can convert virtually any number into clear English words automatically.

With this step-by-step breakdown, you can now:

  • Understand how each part of the formula works
  • Modify it for custom currencies or formats
  • Extend it for even larger numbers if needed

Using LAMBDA, LET, MAP, and related functions, Excel becomes a powerful tool for generating fully formatted number-to-word outputs without VBA or manual intervention.

Prashanth KV
Prashanth KV
Your Trusted Google Sheets and Excel Expert Prashanth KV is a Diamond Product Expert in Google Sheets, officially recognized by Google for his contributions to the Docs Editors Help Community and featured in the Google Product Experts Directory. Explore his blog to learn advanced formulas, automation tips, and problem-solving techniques to elevate your spreadsheet skills.

Top Discussions

More like this

Design Logic Behind the Perpetual Calendar Heatmap in Excel

This post is a focused deep dive into the design logic behind an Excel...

Perpetual Calendar Heatmap in Excel (Fully Dynamic, True Calendar)

Excel doesn’t have a native calendar heatmap feature. When you try to visualize daily...

Why Most Reverse Running Total Formulas in Excel Break with Negative Values

Excel users often rely on the SCAN function to calculate running totals. While SCAN...

LEAVE A REPLY

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.