Max,
I haven't studied your solution in enough detail to be sure, but doesn't
this achieve the same result?
=IF(B20,RANK(B2,$B$2:$B$8),"")
On another point, when I first read it I thought that was what was wanted,
but on reading the text, I decided he wanted a list of the non-zero scores
that he could rank, hence my suggestion. You could always use either
solution and filter the zeroes I suppose <vbg
Regards
Bob
"Max" wrote in message
...
One way using non array formulae ..
Assume source table is in A1:C8
Put in D2: =IF(B20,C2+ROW()/10^10,"")
(Leave D1 empty)
Put in E2:
=IF(ISERROR(SMALL(D:D,ROW(A1))),"",
INDEX(A:A,MATCH(SMALL(D:D,ROW(A1)),D:D,0)))
Put in F2: =IF(E2="","",VLOOKUP(E2,A:B,2,0))
Select D2:F2, copy down until the last row of data
Cols E and F will return the desired results
--
Rgds
Max
xl 97
---
Singapore, GMT+8
xdemechanik
http://savefile.com/projects/236895
--
"Matthew" wrote in message
...
I have the following data table :-
NAME POINTS RANK
Adrian 0 5
Billy 0 5
Carl 23 1
Des 4 3
John 4 3
William 6 2
Hazel 0 5
The actual table is a lot bigger than this but it gives the gist of what
I
need.
Basically I want to extract the names of everyone with more than 0
points
in
one column, and the points each person has in the next column (Ranked in
order if possible).
Cheers