The system I often used as can be seen in my post in:
http://www.mrexcel.com/board2/viewtopic.php?t=69970
is troublesome when the number of the data points/records reaches 5000, noticed in fairwinds's post:
http://www.mrexcel.com/board2/viewtopic.php?t=163028
Modifying for control vane's suggestion, we might have an improved Top N system:
Top 10 List swendingo.xls |
---|
|
---|
| A | B | C | D | E | F |
---|
1 | | | | | 3 | |
---|
2 | | | | | 4 | |
---|
3 | Name | Score | | | Top Score(s) | Top Performer(s) |
---|
4 | dawn | 75 | | | 90 | brian |
---|
5 | damon | 85 | | | 90 | jon |
---|
6 | dan | 70 | | | 85 | damon |
---|
7 | brian | 90 | | | 85 | christine |
---|
8 | christine | 85 | | | | |
---|
9 | ian | 80 | | | | |
---|
10 | jon | 90 | | | | |
---|
11 | | | | | | |
---|
|
---|
E1: 3
which is the desired size of the Top N list.
E2:
=COUNTIF(B4:B10,">="&LARGE(B4:B10,E1))
which determines the actual size, dictated by data which might contain ties of the Nth value.
E4, copied down:
=IF(ROWS(E$4:E4)<=$E$2,LARGE($B$4:$B$10,ROWS(E$4:E4)),"")
which lists the actual Top N scores. Note that this list needs to be generated.
F4:
=IF(N(E4),INDEX(A$4:A$10,SMALL(IF(B$4:B$10=E4,ROW(B$4:B$10)-ROW(B$4)+1),COUNTIF(E$4:E4,E4))),"")
which must be confirmed with control+shift+enter (not just with enter) and copied down.