PC Review


Reply
Thread Tools Rate Thread

Count rows with specific attributes in VBA

 
 
Steve Newhouse
Guest
Posts: n/a
 
      22nd Feb 2006
Hi all,

I need to create a function that lets me pass in a range and a value
that will iterate through all the rows in the range, check a specific
column in each row for a specific value, and if it exists, add 1 to a
counter. I want to do this in VBA, NOT using "SUM(IF" or "COUNTIF("
etc because these have limitations that don't work for me.

So something like this:

Foo(A1:A200, "matchVal")

Where A1:A200 is the range (really the range of ROWS) to check and
"matchVal" is the value to match on in whatever the column is that I
specify within the code of the Foo function.

Basically, I do not know how to, while iterating through cells in a
Range, access a particular column and check it for a specific value.
Can someone help?

Thanks,

Steve

 
Reply With Quote
 
 
 
 
Bob Phillips
Guest
Posts: n/a
 
      22nd Feb 2006
Explain the limitations that SUMIF has, it is a better solution.

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Steve Newhouse" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> Hi all,
>
> I need to create a function that lets me pass in a range and a value
> that will iterate through all the rows in the range, check a specific
> column in each row for a specific value, and if it exists, add 1 to a
> counter. I want to do this in VBA, NOT using "SUM(IF" or "COUNTIF("
> etc because these have limitations that don't work for me.
>
> So something like this:
>
> Foo(A1:A200, "matchVal")
>
> Where A1:A200 is the range (really the range of ROWS) to check and
> "matchVal" is the value to match on in whatever the column is that I
> specify within the code of the Foo function.
>
> Basically, I do not know how to, while iterating through cells in a
> Range, access a particular column and check it for a specific value.
> Can someone help?
>
> Thanks,
>
> Steve
>



 
Reply With Quote
 
Steve Newhouse
Guest
Posts: n/a
 
      24th Feb 2006
The "Count Unique Text Elements" solution proposed by Microsoft....

"=SUM(IF(FREQUENCY(MATCH(A1:A10,A1:A10,0),MATCH(A1:A10,A1:A10,0))>0,1))"

.... has a problem. It counts ONLY items that occur no more than once.
I want to count each item, but only the first occurrence. So if there
are three "X" values, I still want to count 1 of them, not 0, and for
that first one, fall through to the next conditional test in the
formula (joined by +, *, etc as is the custome w/array formulas). The
other problem is that the above code appears to return an array of the
size of the range + 1, which is annoying and means that subsequent
conditional tests have to use A1:A11 to prevent error...

 
Reply With Quote
 
Bob Phillips
Guest
Posts: n/a
 
      25th Feb 2006
How about

=SUMPRODUCT((A2:A200<>"")/COUNTIF(A2:A200,A2:A200&""))

--
HTH

Bob Phillips

(remove nothere from email address if mailing direct)

"Steve Newhouse" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> The "Count Unique Text Elements" solution proposed by Microsoft....
>
> "=SUM(IF(FREQUENCY(MATCH(A1:A10,A1:A10,0),MATCH(A1:A10,A1:A10,0))>0,1))"
>
> ... has a problem. It counts ONLY items that occur no more than once.
> I want to count each item, but only the first occurrence. So if there
> are three "X" values, I still want to count 1 of them, not 0, and for
> that first one, fall through to the next conditional test in the
> formula (joined by +, *, etc as is the custome w/array formulas). The
> other problem is that the above code appears to return an array of the
> size of the range + 1, which is annoying and means that subsequent
> conditional tests have to use A1:A11 to prevent error...
>



 
Reply With Quote
 
 
 
Reply

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Count number of rows with specific text Rock Microsoft Excel Worksheet Functions 2 24th May 2010 08:46 PM
Count rows where a specific value appears in any of 4 columns LisaM Microsoft Excel Worksheet Functions 5 5th Aug 2009 10:46 AM
Macro to count down and select specific number of rows Kell2604 Microsoft Excel Programming 1 23rd Jul 2009 10:07 PM
VBA to count rows from specific cell and insert rows Valerie Microsoft Excel Programming 3 26th Nov 2007 10:14 PM
Count rows with specific date lakegoddess Microsoft Excel Misc 3 9th Aug 2005 04:36 PM


Features
 

Advertising
 

Newsgroups
 


All times are GMT +1. The time now is 04:34 PM.