Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / General Excel Questions / March 2008

Tip: Looking for answers? Try searching our database.

Count if, excluding zeros

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
brett.kaplan@gmail.com - 24 Mar 2008 14:42 GMT
Hi,

What I'm trying to do is, in one cell, get a count of unique values in
a column that, in the adjacent column, do not have a value of 0.

For instance, if my table looked like this:

A    1
A    1
B    1
B    1
B    1
C    0
C    0
D    1

I'd want a formula that would give me the value of 3, such that it
counts how many unique values there are in the first column and then,
if the sum of that unique value is 0, it excludes it from the count.

I could do this in a third column, by putting the formula:
=IF(OR(B3=B2,C3=0),D2,D2+1) (assuming the first "A" is in cell B3),
and then dropping that down and taking the max value, however, I'd
like to do this in one cell.

Is this possible, perhaps using an array?  I'm already using {=SUM(1/
COUNTIF($B$3:$B$12,$B$3:$B$12))} to get me the unique value count, but
can't figure out how to exclude the ones with a total of 0.

Thanks in advance!

Brett
Bob Phillips - 24 Mar 2008 15:16 GMT
=SUM(--(FREQUENCY(IF(B1:B20<>0,MATCH(A1:A20,A1:A20,0)),ROW(INDIRECT("1:"&ROWS(A1:A20))))>0))

which is an array formula, Ctrl-Shift-Enter, not just Enter

Signature

---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

> Hi,
>
[quoted text clipped - 28 lines]
>
> Brett
brett.kaplan@gmail.com - 24 Mar 2008 15:26 GMT
That works - thanks!!

By the way, what does the "--" before the frequency mean?

Thanks!
Bob Phillips - 24 Mar 2008 16:15 GMT
It is used to coerce TRUE/FALSE values to 1/0. The FREQUENCY(..)>0 will
return an array of TRUE and FALSE values, the first - coerces this to an
array of -1/0, the second negates it to an array of 1/0, and SUM then just
adds them up.

Signature

---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

> That works - thanks!!
>
> By the way, what does the "--" before the frequency mean?
>
> Thanks!
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.