Last week Joyce asked a question on the Chandoo.org, Comment 24.
I’m wondering if there’s a way to count the number of occurrences of words when they’re all in a cell? Like this:
A1: “Windows NT, Networking, Firewalls, Security, TL, Training”
A2: “Networking, Networking, Training, Security, TL, Training”
A3: “Security, TL, Firewalls, Security, Networking, Windows NT”
Joyce
Hui responded with an Array Formula:
=SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
As the formula is an Array Formula it is entered with Ctrl Shift Enter.
Setup the Problem
Copy the Data Above into Cells A1:A3 or download the example file here: Example File (all Excel versions)
Enter the text string Security into cell C10
And array enter the formula
D10: =SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
Cell D10 should now display the value 4, which is the number of times the Word Security, appears in the Range A1:A3.
Pull The Formula Apart
Lets take a look inside this and see how it works
We will break this formula apart and look at each section independently and then put the answers back together.
=SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
In a cell below the data
D13: =LEN(A1:A3) but don’t press Enter, Press F9
Excel displays ={57,56,57}
This is the number of characters in each cell A1:A3
ie: A1 has 57 characters, A2 has 56 characters, A3 has 57 characters,
You can check this manually by typing =Len(A1) into any spare cell
=SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
In another cell below the data
D15: =LEN(SUBSTITUTE(A1:A3,C10,””)) but don’t press Enter, Press F9
Excel displays ={49,48,41}
What this section does is measure the length of each cell in A1:A3 but only after substituting the word being searched for from C10 with ””, which is a zero length string.
So the second array is shorter than the first Array, by X times the length of the word in C10
=SUM(LEN(A1:A3) – LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
Next we add up the difference between the two arrays
So you can see we have two arrays of numbers
Array 1 = {57,56,57}
Array 2 = {49,48,41}
If we subtract Array 2 from Array 1
= {57-49, 56-48, 57-41}
= {8, 8, 16}
We can do this in Excel to Check
In Cell D17 enter
=LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””)) and press F9
Excel displays: = {8, 8, 16}
=SUM(LEN(A1:A3) – LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
The next part is to sum these up
Obviously the sum of 8, 8 & 16 is 32
We can check that
D21: =SUM(LEN(A1:A3)-LEN(SUBSTITUTE(A1:A3,C10,””))) and press F9
Excel displays: 32
=SUM(LEN(A1:A3) – LEN(SUBSTITUTE(A1:A3,C10,””)))/LEN(C10)
The final part of this is to divide the sum (32 in this case) by the length of the text in C10 “Security” = 8 Characters
=32 / 8
= 4
Correct – The number of times Security appears in the cells A1:A3 is 4.
OTHER POSTS IN THIS SERIES:
You can learn more about how to pull Excel Formulas apart in the following posts
Formula Forensic 001 – Tarun’s Problem
WHAT FORMULAS WOULD YOU LIKE EXAMINED ?
If you have any formulas you would like explained please feel free to leave a post here or send me an email:
If the formula is already on Chandoo.org or Chandoo.org/Forums or even forbid another web site, simply send the link to the post and a Comment or ID No. number if appropriate.
If sending emails please attach an Excel file with the formula and data














15 Responses to “Make a Bubble Chart in Excel [15 second tutorial]”
Noooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo!!
Whyyyyyyyy?
The idea is to tell how to make a bubble chart. I got an e-mail from a reader recently asking how the scatter bubble is made. So I thought a 15 second tutorial would be a good idea to show this.
Did that email go "Dear Chandoo, I know that you scorn bubble charts, but if I don't do one in Excel for my boss then he'll fire my sorry ass, and my children will have to be sold for medical experiments in order for me to be able to afford the upgrade path to Excel 2010"?
If so, fair enough...it's all in the greater good 😉
Chandoo,
I am using excel 2003 and it is not working. The x axis is not the one that I enter in x axis column. Please help! Thanks.
Sorry, after few attempts, I managed to get the right result. I shouldn't select the title (header) of the table and select only the data to produce the right bubble chart.
What's wrong with bubble charts? Is there a better method for displaying scatter plots with lots of overlapping data points? Don't tell me you'd rather jitter!
@Sanwijay: Cool.
@Precious Roy: There is nothing wrong with bubble charts. Infact, it is the only way to show 3 dimensional data (x,y and sizes) without confusing your audience. Jeff is worried that people might misuse the chart. As with any chart, bubbles also have a place and time for using them.
I recommend using bubble charts to show relative performance various products in several regions and similar situations.
Also, human eye is notorious in wrongly estimating the bubble sizes (as we have to measure areas). See http://chandoo.org/wp/2009/07/28/charting-lessons-from-optical-illusions/
We can partially improve bubble charts by adding data labels, but if you have too many bubbles, the labels will clutter the chart and make it look busy.
I can't seem to find a way to plot more than ten bubbles on a chart and need to know how to add more
@KW.. why would such a thing happen. I am sure you can add more bubbles that that. Can you tell us exactly what you are doing...
Example table:
A B C (size)
Me: 25 30 15%
Him: 30 22 11%
Her: 12 30 20%
I am trying to make a bubble chart where the Y axis is A, the X axis is B, and the size of the bubble is C. There should be only 3 bubbles. I keep ending up with six (with the labels being only "Me" and "Her"). My goal is to have three bubbles, one representing each person. Clearly I am doing something wrong. Can you help explain...?
Hi,
I wanted to add data labels to the bubbles. Each bubble represents a different company name. Excel allows me to add the size, legend, x axis values and y axis values. How do I add instead- Company A, B, C, D for the bubbles?
youon you have to choice every data for every company..
ex:create bubble for A company,after that click right> add data label> adjust data labels :format data labels and choose : series name.
i hop u will succeed .
[...] we create a bubble chart with 2 bubbles. 1 for the actual mustache & 1 for target [...]
If we want bubble size to be controlled by one column, but the bubble labels to be controlled by another column, how can this be achieved?
many thanks!!!!