Ever wanted to automatically format values in thousands, millions or billions in Excel? In this article, let me show you two powerful techniques to do just that.

Technique 1: Using Custom Format Codes

We can use Custom Number Format codes in Excel to quickly turn the number to thousands, millions or billions. To do this:
- Select your numbers and go to Format Cells (Ctrl 1)
- From the number tab, select “Custom” for category and type the code below:
[<1000]##,##0;[<1000000]#,###.0,"K";#,###.0,,"M"- Press OK to see the magic.

How does it work?
[<1000]##,##0;[<1000000]#,###.0,"K";#,###.0,,"M"The above custom format code has 2 rules and a default behavior, each separated by semicolon ;
- [<1000]##,##0 – This portion formats any values under 1,000 as usual numbers
- [<1000000]#,###.0,”K” – Any numbers under 1 million will be formatted in thousands (the extra comma at the end rounds the numbers to thousands) and adds letter “K” at the end.
- #,###.0,,”M” – And finally this is the default rule. Any other numbers (obviously more than 1 million) will be formatted in millions (2 extra commas at the end) and the letter “M” added at the end.
Learn more about custom cell format codes in Excel.
Limitations of Custom Format code
While custom cell format is a great option, it has a few limitations.
- Supports only 3 rules: The custom format codes can only accept up to 3 options. So if you want to have units, thousands, millions, billions (i.e. 4 levels), we can’t do that with custom format codes.
- Negative numbers not supported: As a consequence of 3 rule limitation, we can’t do negative numbers with this approach. If you just want the “thousands” or “millions” formatting for both positive and negative numbers, you can use the below alternative rule.
'Format in thousands, works for both positive and negative numbers:
[<-1000]-#,##0.0,"K";[<1000]#,##0;#,##0.0,"K"Better Technique 2: Using Format Lookup Table
A better option is to use a lookup table to decide the format code based on the size of your numbers and then automatically switching the format with TEXT function.

First set up a lookup table like this in your workbook. (I normally put this in hidden settings tab for my dashboards).

Then, use the below formula to automatically lookup the value and format it in the corresponding format style based on the table.
'Auto-format numbers based on the lookup table
=TEXT(B5,LOOKUP(B5,$J$5:$J$11,$K$5:$K$11))How does this formula work?
The formula has 2 key components: TEXT() & LOOKUP()
- LOOKUP() Function: This will lookup the exact value or next lower value. For example, when we lookup the value 12,345 the lookup function (LOOKUP(12345,$J$5:$J$11,$K$5:$K$11)) will return the format code – #,##,.0″K”
- TEXT() Function: Once we have the format code, we use TEXT function to convert the value in B5 to that format and return it as a string value. For example, 12345 when formatted in #,##,.0″K” will become 12.3K
How to auto-format Chart Labels?

We can use the same approach to auto-format chart labels as well. For example, above, I have shown a column chart with dynamic chart labels that auto-format based on the value. To get this:

- Add “data labels” to your chart.
- Select the labels and go to “format labels” (press CTRL 1)
- From the label options tab, go to “Number” area
- Uncheck “Linked to Source” option.
- Type the format code as shown above in this article.
- Click on “Add”
- That is all. Your chart will now have dynamically auto-formatted labels.
Here is a quick demo of the process:

Using “Formula” approach with Chart Labels

If you have values all over the place and need thousands / millions / billions style format for your labels, you can also use “formula” approach, as discussed above. To do this:

- First calculate the labels with formula (lookup table) approach.
- Add labels to the chart and go to “format labels”.
- From the “label options” area, select “value from cells”.
- Select the formula label range.
- Uncheck original “values” from the labels.
- Done. Your chart now has dynamic labels that are fetched thru formula lookup method.
Why auto-format your numbers?
Auto-formatting numbers helps in reducing clutter of your reports and makes them look professional. I always use this approach when creating executive dashboards or KPI reports in Excel.
In Conclusion: Which method to use?
For simpler situations, use the custom cell format rule method.
But if you have data all over the place or need to go beyond more than 3 rules, use the formula approach.
Download Sample File – Auto format numbers
Here is a sample Excel workbook with all the examples above so you can understand this technique.
Video: Auto format numbers in Excel [2 ways]
Watch this video tutorial to learn how to use these two techniques.
More creative ways to use custom cell formatting in Excel
Learn more about Excel’s custom cell formatting feature using the articles below:














12 Responses to “Analyzing Search Keywords using Excel : Array Formulas in Real Life”
Very interesting Chandoo, as always. Personally I find endless uses for formulae such as {=sum(if(B$2:B$5=$A2,$C$2$C$5))}, just the flexibility in absolute and relative relative referencing and multiple conditions gives it the edge over dsum and others methods.
I've added to my blog a piece on SQL in VBA that I think might be of interest to you http://aviatormonkey.wordpress.com/2009/02/10/lesson-one-sql-in-vba/ . It's a bit techie, but I think you might like it.
Keep up the good work, aviatormonkey
Hi Chandoo,
You might find this coded solution I posted on a forum interesting.
http://www.excelforum.com/excel-programming/680810-create-tag-cloud-in-vba-possible.html
[...] under certain circumstances. One of the tips involved arranging search keywords in excel using Array Forumlas. Basically, if you need to know how frequent a word or group of keywords appear, you can use this [...]
@Aviatormonkey: Thanks for sharing the url. I found it a bit technical.. but very interesting.
@Andy: Looks like Jarad, the person who emailed me this problem has posted the same in excelforum too. Very good solution btw...
Realy great article
"You can take this basic model and extend it to include parameters like number of searches each key phrase has, how long the users stay on the site etc. to enhance the way tag cloud is generated and colored."
How would you go about doing this? I think it would need some VB
Hi,
I found the usage very interesting, but is giving me hard time because the LENs formula that use ranges are not considering the full range, in other words, the LEN formula is only bringing results from the respective "line" cell.
Using the example, when I place the formula to calculate the frequency for "windows" brings me only 1 result, not 11 as displayed in the example. It seems that the LEN formula using ranges is considering the respective line within the range, not the full range.
Any hint?
@Thiago
You have to enter the formula as an Array Formula
Enter the Formula and press Ctrl+Shift+Enter
Not just Enter
Thank you, Hui! I couldn't work out how this didn't work
is there a limit to the number of lines it can analyse.
Ie i am trying to get this to work on a list of sentances 1500 long.
@Gary
In Excel 2010/2013 Excel is only limited by available memory,
So just give it a go
As always try on a copy of the file first if you have any doubts
Apologies if I am missing something, but coudn't getting frequency be easier with Countif formula. Something like this - COUNTIF(Range with text,"*"&_cell with keyword_&"*")
Apologies if I missed, but what is the Array Formula to:
1. Analyze a list of URL's or a list of word phrases to understand frequency;
2. List in a nearby column from most used words to least used words;
3. Next to the list of words the count of occurrences.