#1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 371
Default Countif

Hi
I need to count unique items in a list of indices for example:
13.1
13.2
13.3
14.1
15.1
16.1
16.2
The answer would be 4 as the only count I need is the outer index.
The indices are compiled as strings and are in named ranges on several
sheets. I am looking for something like:

lastorderID = 12.1
For i = 1 to sheets .count-1
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
CInt(lastorderID)")
Next

or:
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
Left((lastorderID),2)")

But they do not work. Can someone please help?

T.I.A.
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,049
Default Countif

try this:

Function uniquecount(source As Range) As Long
Dim index As Long
Dim count As Long
Dim cell As Long
If source.count 0 Then count = 1
For index = 1 To source.count - 1
If Int(source(index)) < Int(source(index + 1)) Then
count = count + 1
End If
Next
uniquecount = count
End Function


"Geoff" wrote in message
...
Hi
I need to count unique items in a list of indices for example:
13.1
13.2
13.3
14.1
15.1
16.1
16.2
The answer would be 4 as the only count I need is the outer index.
The indices are compiled as strings and are in named ranges on several
sheets. I am looking for something like:

lastorderID = 12.1
For i = 1 to sheets .count-1
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
CInt(lastorderID)")
Next

or:
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
Left((lastorderID),2)")

But they do not work. Can someone please help?

T.I.A.



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 371
Default Countif

Hi Patrick
If my source is Sheets(3).Range("NOrderID") then

MsgBox uniquecount(Sheets(3).Range("NOrderID")) returns 1
whereas the answer should be 5

I am missing something and would be grateful for any further assistance.

Geoff

"Patrick Molloy" wrote:

try this:

Function uniquecount(source As Range) As Long
Dim index As Long
Dim count As Long
Dim cell As Long
If source.count 0 Then count = 1
For index = 1 To source.count - 1
If Int(source(index)) < Int(source(index + 1)) Then
count = count + 1
End If
Next
uniquecount = count
End Function


"Geoff" wrote in message
...
Hi
I need to count unique items in a list of indices for example:
13.1
13.2
13.3
14.1
15.1
16.1
16.2
The answer would be 4 as the only count I need is the outer index.
The indices are compiled as strings and are in named ranges on several
sheets. I am looking for something like:

lastorderID = 12.1
For i = 1 to sheets .count-1
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
CInt(lastorderID)")
Next

or:
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
Left((lastorderID),2)")

But they do not work. Can someone please help?

T.I.A.




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 371
Default Countif

Hi Patrick
Further to the last - more accurately the return was counting where there
was a blank. I then set If source.count 0 Then count = 1 to
If source.count 0 Then count = 0 and all was well. All I have to do now
is iterate through the sheets and job done.
Thank you.

Geoff

"Geoff" wrote:

Hi Patrick
If my source is Sheets(3).Range("NOrderID") then

MsgBox uniquecount(Sheets(3).Range("NOrderID")) returns 1
whereas the answer should be 5

I am missing something and would be grateful for any further assistance.

Geoff

"Patrick Molloy" wrote:

try this:

Function uniquecount(source As Range) As Long
Dim index As Long
Dim count As Long
Dim cell As Long
If source.count 0 Then count = 1
For index = 1 To source.count - 1
If Int(source(index)) < Int(source(index + 1)) Then
count = count + 1
End If
Next
uniquecount = count
End Function


"Geoff" wrote in message
...
Hi
I need to count unique items in a list of indices for example:
13.1
13.2
13.3
14.1
15.1
16.1
16.2
The answer would be 4 as the only count I need is the outer index.
The indices are compiled as strings and are in named ranges on several
sheets. I am looking for something like:

lastorderID = 12.1
For i = 1 to sheets .count-1
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
CInt(lastorderID)")
Next

or:
res(i) = Application.CountIf(Sheets(i).Range("NOrderID"), "<
Left((lastorderID),2)")

But they do not work. Can someone please help?

T.I.A.




  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 733
Default Countif

"Geoff" wrote...
I need to count unique items in a list of indices for example:
13.1
13.2
13.3
14.1
15.1
16.1
16.2
The answer would be 4 as the only count I need is the outer index.
The indices are compiled as strings and are in named ranges on several
sheets. I am looking for something like:


This could be done in a worksheet cell formula using

=SUMPRODUCT(1/COUNTIF(SomeRange,INT(SomeRange)&"*"))

In VBA, I'd be tempted to cheat and use Evaluate.




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 733
Default Countif

"Harlan Grove" wrote...
....
This could be done in a worksheet cell formula using

=SUMPRODUCT(1/COUNTIF(SomeRange,INT(SomeRange)&"*"))

....

Not general enough. Make that

=SUMPRODUCT(1/COUNTIF(SomeRange,INT(SomeRange)&".*"))


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

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


Similar Threads
Thread Thread Starter Forum Replies Last Post
COUNTIF PatrickP Excel Worksheet Functions 7 October 30th 09 07:49 PM
How do I use a countif function according to two other countif fu. Kirsty Excel Worksheet Functions 2 February 20th 06 11:44 AM
edit this =COUNTIF(A1:F16,"*1-2*")+COUNTIF(A1:F16,"*2-1*") sctroy Excel Discussion (Misc queries) 2 September 25th 05 04:13 AM
COUNTIF or not to COUNTIF on a range in another sheet Ellie Excel Worksheet Functions 4 September 15th 05 10:06 PM
COUNTIF in one colum then COUNTIF in another...??? JonnieP Excel Worksheet Functions 3 February 22nd 05 02:55 PM


All times are GMT +1. The time now is 09:24 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"