Solved

# Countif in Excel

Posted on 2012-04-04
185 Views
Attached I have a file for an example. Column C has long list of data such as "2, 6, 10". Column D has then just one number such as "2". I would like Column E to do a countif of total cells that say Column D's number in it. Any idea how to do this? Attached is a file
Practice-Sheet.xlsx
0
Question by:cansevin
• 6
• 5

Author Comment

ID: 37807570
Would it be easier if the data was broken up into different cells? So, instead of a cell with "2, 4, 7" it would be "2" then next to it "4' then next to it "7"?
0

LVL 81

Accepted Solution

byundt earned 500 total points
ID: 37807581
Try array entering a formula like:
=COUNT(FIND(" " & D2 & ","," " &C:C  & ","))

To array enter the formula:
1) Paste the formula in the formula bar
2) Hold Control and Shift keys down
3) Hit Enter
4) Release all three keys. Excel will respond by adding curly braces { } surrounding your formula.
0

LVL 13

Expert Comment

ID: 37807600
Would it be easier if the data was broken up into different cells? So, instead of a cell with "2, 4, 7" it would be "2" then next to it "4' then next to it "7"?

Yes
0

LVL 13

Expert Comment

ID: 37807775
If you separate numbers, it will work like this...

see attached file
Practice-Sheet-New.xlsx
0

LVL 81

Expert Comment

ID: 37808405
With all due respect, the accepted solution is dreadful.

It is not designed to be copied down, and contains mistakes in logic besides:
=COUNTIF(G2:J2,D2)+COUNTIF(G2:J3,D2)+COUNTIF(G4:J4,D2)+COUNTIF(G5:J5,D2)+COUNTIF(G6:J6,D2)+COUNTIF(G7:J7,D2)+COUNTIF(G8:J8,D2)
The second COUNTIF should use G3:J3 instead of G2:J3

If you are going to go to all the trouble of eliminating the extra spaces, then using Data....Text to Columns to split the data into separate cells, you ought to take advantage of the full capability of COUNTIF function to look at multiple columns. COUNTIF can even check columns to the right of the range with the limited set of sample data.
=COUNTIF(G:K,D2)

I've posted a sample workbook showing how the suggested array formula works with the data in the original question, as well as the revised COUNTIF formula.

Practice-SheetQ27662561.xlsx
0

LVL 13

Expert Comment

ID: 37808608
The formula is not desined to copy down.  That is correct.

=COUNTIF(G2:J2,D2)+COUNTIF(G3:J3,D2)+COUNTIF(G4:J4,D2)+COUNTIF(G5:J5,D2)+COUNTIF(G6:J6,D2)+COUNTIF(G7:J7,D2)+COUNTIF(G8:J8,D2)

and

The second COUNTIF should use G3:J3 instead of G2:J3.   Thanks for point it out.
0

LVL 81

Expert Comment

ID: 37808912
ashok111,
According to the original question <<Column C has long list of data>>. The Accepted Solution, however, uses one COUNTIF for each row of data in column C. With only seven rows of data in column C of the test workbook, I admit that one can write a brute force formula using seven COUNTIF functions. But the lack of \$ dollar signs on the search range means you can't copy the formula down, letting the reference to cell D2 update, but keeping the row references fixed for columns G through K.

Furthermore, the Accepted Solution doesn't scale. If you have hundreds of rows of data the formula gets so long that you can't find a typo if one exists. Worse yet, you eventually reach the maximum allowable number of characters in an Excel formula--255 in Excel 2003 and 8192 in Excel 2010.

The above issues are why I was left spluttering when the question was closed.

I agree that splitting the data the way you have done offers some significant benefits. I also agree that COUNTIF is the right type of formula to use on the data once it is split. Where we differ is how to set up that COUNTIF.

0

LVL 13

Expert Comment

ID: 37809216

Here is real solution that could be easily copy and pasted with CountIF().

Create a Named Range called "Test1" by selecting G2:J8 (all cells) and naming it "Test1", then

Use following in Row # 2.....

=COUNTIF(Test1,\$D2)

and copy and paste above in all following rows (from Row # 3 to Row # 12)

HTH
Ashok
0

LVL 81

Expert Comment

ID: 37809222
Ashok,
I agree 100% with the direction of your latest suggestion.

0

LVL 13

Expert Comment

ID: 37814811
http:#a37807775 is a functional solution (what I mean is that it works) except that it had 1 character mistyped,

Ashok
0

LVL 81

Expert Comment

ID: 37814852
Ashok,
With all due respect, http:#a37807775 is a valid solution only for the sample workbook posted by cansevin. It cannot possibly be used for the real problem of picking winning lottery numbers given a column C full of numbers chosen in previous draws (or whatever it is that cansevin is doing).

Your suggestion in http:#a37809216 is a much more general solution to the problem. Absent more pertinent feedback from cansevin, I believe it will work perfectly in the Asker's real workbook. If this question is referred to by another person needing help, '216 is the Comment you want to suggest he follow. And I'd be completely OK with making that Comment the Answer to this Question.

0

LVL 13

Expert Comment

ID: 37816811

Practice-SheetQ27662561.xlsx

The revised formulas look good to me.
For example

=COUNTIF(G:J,D2)

In above, you removed the row # (and it does not require multiple CountIf(s)) which makes it possible to copy & paste it.

Thanks,
Ashok
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

Workbook link problems after copying tabs to a new workbook? David Miller (dlmille) Intro Have you either copied sheets to a new workbook, and after having saved and opened that workbook, you find that there are links back to the original souâ€¦
When you see single cell contains number and text, and you have to get any date out of it seems like cracking our heads.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaacâ€¦