If you use Google Sheets for creating invoices, salary slips, purchase orders, or sales orders, you may want to convert numbers to words. This may be to comply with regulations or to make the numbers easier to read. Whatever the reason, I have written a formula and a custom-named function for it.
Before proceeding, please note that my formula is coded to convert numbers up to 8 digits long, meaning from 1 to 99,999,999.00
There are four ways to convert numbers to words in Google Sheets:
- Using a formula.
- Using a custom-named function.
- Using the BAHTTEXT native function.
- Using a supported add-on or Google Apps Script.
In this post, I will provide my custom-coded formula and a named function based on it that you can import into your Sheet and use. The output will be in an international system.
If you want to use an add-on, you can find one in the Google Workspace Marketplace. You can go to the Marketplace from the Extensions menu in your Sheet.
The BAHTTEXT function is already featured in my function guide. This native Google Sheets function converts a number into Thai text. You can translate it into English and use it to some extent, but it has limitations that I already mentioned in that tutorial.
Formula to Convert Numbers to Words in Google Sheets
To convert numbers to words in Google Sheets, you can use the following formula:
=INDEX(TRIM(LET(n,INT(B7),vrA,SEQUENCE(9),vrB,SEQUENCE(10,1,10),vrC,SEQUENCE(8,1,20,10),vrD,VSTACK("One","Two","Three","Four","Five","Six","Seven","Eight","Nine"),vrE,VSTACK("Ten","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen"),vrF,VSTACK("Twenty","Thirty","Forty","Fifty","Sixty","Seventy","Eighty","Ninety"),td," Thousand ",hd," Hundred ",mn," Million ",ln,VALUE(LEFT(n,2)),fv,RIGHT(n,5),le,LEN(fv),ltdn,XLOOKUP(SEQUENCE(5),IF(le=1,"",le),VALUE(RIGHT(fv,2)),),rgA,VSTACK(VALUE(MID(fv,SEQUENCE(5),1)),VALUE(MID(LEFT(TEXT(n,"00000000"),3),SEQUENCE(3,1,3,-1),1))),rgB,XLOOKUP(rgA,vrA,vrD,IF(,,)),rgC,XLOOKUP(ltdn,vrB,vrE,IF(,,)),rgD,XLOOKUP(IF(ltdn-rgA>0,ltdn-rgA,),vrC,vrF,IF(,,)),z,INDEX(rgA,1),w,INDEX(rgA,2),ww,INDEX(rgA,3),uu,INDEX(rgA,6),u,INDEX(rgA,7),a,INDEX(rgB,1),aa,INDEX(rgB,2),aaa,INDEX(rgB,3),aaaa,INDEX(rgB,4),aaaaa,INDEX(rgB,5),aaaaaa,INDEX(rgB,6),pq,INDEX(rgB,7),b,INDEX(rgC,2),bb,INDEX(rgC,3),bbb,INDEX(rgC,4),bbbb,INDEX(rgC,5),c,INDEX(rgD,2),cc,INDEX(rgD,3),ccc,INDEX(rgD,4),cccc,INDEX(rgD,5),xl,XLOOKUP(VALUE(LEFT(fv,2)),vrB,vrE,0),xll,XLOOKUP(IF(VALUE(LEFT(fv,2))-INDEX(rgA,2)>0,VALUE(LEFT(fv,2))-INDEX(rgA,2),""),vrC,vrF,IF(,,)),codeAA,IFS(AND(le=5,xl>0,ww=0),xl&td&" "&aaa,AND(le=5,xl=0,ww=0),xll&" "&aa&td&" "&aaa,AND(le=5,xl>0,ww>0),xl&td&" "&aaa&hd,AND(le=5,xl=0,ww>0),xll&" "&aa&td&" "&aaa&hd,1=1," "),testA,XLOOKUP(ln,vrB,vrE,IF(,,)),testB,XLOOKUP(IF(ln-u>0,ln-u,),vrC,vrF,IF(,,)),codeA,IFS(AND(testA>0,uu>0),testA&mn,AND(testB>0,uu>0),testB&" "&pq&mn,AND(testA>0,uu=0),testA&mn,AND(testB>0,uu=0),testB&" "&pq&mn,1=1," "),codeB,IFS(AND(le=5,bbbb>0),bbbb,AND(le=5,bbbb=0),cccc&" "&aaaaa,1=1," "),codeC,IFS(AND(n>999999,z=0,w=0,ww=0,uu=0)," ",AND(n>999999,z=0,w=0,ww>0,uu=0),REPLACE(codeAA,1,10,""),1=1,codeAA),IFS(le=1,a,AND(b>0,le=2),b,AND(b=0,le=2),c&" "&aa,AND(le=3,bb=0),a&hd&cc&" "&aaa,AND(le=3,bb>0),a&hd&bb,AND(le=4,bbb>0,w=0),a&td&aa&bbb,AND(le=4,bbb=0,w=0),a&td&aa&ccc&" "&aaaa,AND(le=4,bbb>0,w>0),a&td&aa&hd&bbb,AND(le=4,bbb=0,w>0),a&td&aa&hd&ccc&" "&aaaa,AND(n>9999,n<100000),codeC&" "&codeB,AND(n>99999,n<1000000),aaaaaa&hd&" "&codeC&" "&codeB,AND(n>999999,n<10000000,uu>0),pq&mn&aaaaaa&hd&" "&codeC&" "&codeB,AND(n>999999,n<10000000,uu=0),pq&mn&" "&codeC&" "&codeB,AND(n>9999999,n<100000000,uu>0),codeA&" "&aaaaaa&hd&" "&codeC&" "&codeB,AND(n>9999999,n<100000000,uu=0),codeA&" "&codeC&" "&codeB))))
The above formula converts the number in cell B7 into words in the international system. When you use the formula, just replace B7 with the cell reference containing the number.
Note: The cell reference only appears once in the formula, making it very convenient to use.
The number-to-words converter formula has the following features:
- It is a combination formula and does not require any helper cells.
- It converts the numbers from 1 to 99,999,999.
- When the cell containing the number contains decimals, it converts the integer part only. The decimal part is ignored. You can use the ROUND, ROUNDDOWN, or ROUNDUP functions to round the number before converting it to words. For example, you can replace
B7
withROUND(B7)
.
Named Function to Convert Numbers to Words in Google Sheets
If you prefer a much cleaner way to convert numbers to words in the international system in Google Sheets, you can use my custom-named function, NumberToWords()
.
Syntax of the NumberToWords custom-named function:
NUMBERTOWORDS(number)
This carries all the features of the above number-to-word converter formula.
Here are some examples of how to use NumberToWords in Google Sheets:
=NUMBERTOWORDS(125055) // Returns "One Hundred Twenty Five Thousand Fifty Five"
=NUMBERTOWORDS(A1) // Converts the number in cell A1 to words
=NUMBERTOWORDS(ROUND(A1)) // Rounds and converts the number in cell A1 to words
To use the NumberToWords function, you need to import it into the sheet you want to use. If you want to use it in multiple sheets, you can import it into each sheet or make a copy of the first sheet.
Follow these three steps to import NumberToWords and convert numbers to words in your Google Sheets:
- Make a copy of my sample sheet.
- Open the sheet in which you want to use the function.
- Go to the Data menu > Named functions and click Import function.
NumberToWords Array Formula
We usually use the ARRAYFORMULA function in Google Sheets to expand a formula result, but it does not work with the NumberToWords custom-named function.
However, you can still convert multiple numbers to words in one go using NumberToWords and the MAP lambda function.
Here is the generic formula:
=MAP(array,LAMBDA(r, NUMBERTOWORDS(r)))
Replace array
with the cell range that contains the numbers. For example, to convert the numbers in the range C3:C7 to words, you can use the following formula in cell D3, assuming that D3:D7 is empty:
=MAP(A1:A10,LAMBDA(r, NUMBERTOWORDS(r)))
Conclusion
You can use the UPPER, LOWER, and PROPER functions with the above number verbalizer function to format the converted numbers to words in Google Sheets.
You can also prefix or suffix custom text, such as “Rupees” or “Only”.
Here are a few examples:
=UPPER(NUMBERTOWORDS(1502)) // Returns ONE THOUSAND FIVE HUNDRED TWO
=NUMBERTOWORDS(1502)&" Only" // Returns One Thousand Five Hundred Two Only
="Rupees "&NUMBERTOWORDS(1502)&" Only" // Returns Rupees One Thousand Five Hundred Two Only
Related Reading:
- How to Create Named Functions in Google Sheets.
- Convert Time Duration to Day, Hour, Minute in Google Sheets.
- Create Unit Converter in Google Sheets Using the Convert Function.
- How to Convert Currency Text to Number in Google Sheets.
- How to Convert Currency in Google Sheets Using GoogleFinance Function.
Thanks A lot. Really your hard work made our task easy.
You’re welcome! I’m glad I could help make your task easier.
Thanks a lot..
your formula is awesome..
Hi,
We want to use it in Sheets to convert number/amount to words with Rupees and Paise. Please help.
Hi, Vijeta,
Sorry for the inconvenience. The formula is very complex and it would take me lots of time and also ‘painful’ to re-code it. I’ll definitely make an attempt in future.
Thanks for your understanding.
Hi Prashanth,
Could you please provide me the access?
Hi, Arun,
I have included the link within the post! Still, I am sending the same via email. Please check your inbox!
How about decimal numbers?
Hi Prashanth,
Thank you so much of this amazing formula. How about if there is a centavo amount and I need to show it as well in words, can you share it with me the formula?
Cheers,
Jessie
How to adopt to different language?
Hi, Fadli,
What about using the GOOGLETRANSLATE function.
You can wrap the formula that returns the amount in words with GOOGLETRANSLATE function. Here is one example.
=googletranslate(if(and(F7="Upper",F9=TRUE),Upper(C14),if(and(F7="Proper",F9=TRUE),proper(C14),if(and(F7="Lower",F9=TRUE),lower(C14)," "))),"en","es")
Best,
Please send me the files.
Please check your inbox.
HI,
CAN I HAVE THE ACCESS PLEASE
Hi, Aadi,
I have included the number to word converter download link at the last part of the post. Please check that.
Thanks.
Hi Sir,
Can you also share the link to me? I will be using it in my office for the invoicing.
Thank you so much for the help
Hi,
I have included the link within the tutorial itself. Please check again.
Can I have a copy of the GoogleSheet so that I can use it with my students? I have a couple kiddos who need extra supports to access the same curriculum as their peers. This would be perfect to teach them to use.
Happy to share the number to word converter file with you. Please check your email. Also, I have updated my post and included the link.
PLS NEED IN INR , GIVE ME THE ACCESS
I have sent the Sheets via email.
Regarding the converter in INR, I am Sorry to say right now I don’t have that formula.
I know I can tweak the formulas used and even make it shorter. Because this converter is coded by me several months back. Now I am more accustomed to array formulas.
Due to time constraint, I am unable to do that. If I make any changes, I will update that in this post in future.
Thanks
Hi Good day
Please send me the code for converting number to words.
Thanks
Interested on the code! Thanks!
Please Check your inbox.
Please provide access
Hi Prashanth,
Could you please provide me the access.
Interested to see the code.
Thanks.
hi
kindly send for an access. thank
Hi! I requested for an access. Thanks!
Done!
Please give me access as well. Thank you!
Hi Dmitry,
I’ll send you the number to word converter file via Email soon. It’ll be an editable version which you can use.
I’ve also noted few other requests and sending them too.
Thanks.
I too want in international and INR please
Would love to see if this code works for me.
@john Smith, @ Babu R, @ Rajesh
Already shared via Email
Thanks for showing interest.
Hii
Kindly share your code
Thanks
Can I please get the command bro….
Kindly share the code/access for the code. Thanks.
Dear Prashanth
Thanks for your time
Could you please provide the code
Again, thank you.
Hi Ronald,
I have already sent it to your provided mail and hope that this number to word converter can useful to you.
Dear Prashanth,
I need this code of my personal use.
Thank you.
Done!
Hello,
May I have access to the code? Thank you.
Hi, I’ve sent the files via email.
I want access
— Shared via email —
i need function for INR.
i need function for Indian rs
@apb
I think I should tweak the formula little bit. If I make any changes, I’ll update you.
Thanks.
Hey Prashanth,
Please provide me access to this file.
Thanks
Done 🙂
Hi,
Can you please provide access!
Thanks.
Hi Vickky,
You can check your inbox. I’ve sent two spreadsheet files. Both are required.
Thanks for the drop by!
Interested on the code! Thanks!
Hi,
I’ve sent the files via personal mail.
Thanks for the drop by.
Cheers!
Hi, can I please get access to the code? Thank man!