Ranking a set of scores

Skiffie

New Member
Joined
Mar 20, 2012
Messages
12
Office Version
  1. 365
Platform
  1. Windows
  2. Web
Hi there, I was searching for basically the question raised in this thread: Ranking a medal tally

While I'm not looking at medals the premise is the same. Over a sailing season, we are looking for the boat that has the "most fastest times". If one boat has a clear number more than any other, it is the winner. If there are more than one, then you move to the ranking the second places ad so on until the tie is broken.

In the example, Avro, Truant III and Uncle Fred all have 3 x 1sts, so we move to the 2nd places. Avro and Uncle Fred have 2 x 2nds each, so need to be split by the third places. Avro has 3 x 3rds to Uncle Fred's 2, so Avro would be ranked first and Uncle Fred second, Truant III third. Merle would be 4th overall to Truant II in 5th due to the split happening at the 4th places. Then this leaves Wrecker in 6th.

H10s Race Results 2022-23.xlsx
ABCDEFGHIJK
56Most Fastest Times
57Skiffs1sts2nds3rds4ths5ths6thsDNFDNSDNCRank
58Avro323110200
59Merle142311000
60Truant II142000005
61Truant III300220500
62Uncle Fred322500000
63Wrecker101123103
Summary


It's one that's been a puzzle to me for some years!!

Thanks in advance for your consideration!
 

Excel Facts

What is the fastest way to copy a formula?
If A2:A50000 contain data. Enter a formula in B2. Select B2. Double-click the Fill Handle and Excel will shoot the formula down to B50000.
One option
Fluff.xlsm
ABCDEFGHIJK
56Most Fastest Times
57Skiffs1sts2nds3rds4ths5ths6thsDNFDNSDNCRank
58Avro3231102001
59Merle1423110004
60Truant II1420000055
61Truant III3002205003
62Uncle Fred3225000002
63Wrecker1011231036
Main
Cell Formulas
RangeFormula
K58:K63K58=SUMPRODUCT(--($B$58:$B$63*10000000000+$C$58:$C$63*100000000+$D$58:$D$63*1000000+$E$58:$E$63*10000+$F$58:$F$63*100+$G$58:$G$63>=B58*10000000000+C58*100000000+D58*1000000+E58*10000+F58*100+G58))
 
Upvote 0
I am sure someone will show up with a solution without a helper column needed. My solution requires using colum L as helper column.

Excel Formula:
L58 = SUMPRODUCT(($B58:$E58)/COLUMN($B58:$E58))
K58 =RANK(L58,$L$58:$L$100)

Sorry for inconvience. After checking @Fluff 's formula, I've realized that my formula calculates totally something different.
 
Last edited by a moderator:
Upvote 0
@Flashbond if you change the helper to
Excel Formula:
=SUMPRODUCT(($B58:$G58)/(COLUMN($B58:$G58)^10))
it gives the same result.
 
Upvote 0
Based on Flashbonds approach that doesn't need a helper column
Excel Formula:
=SUMPRODUCT(--(MMULT(($B$58:$G$63)/(COLUMN($B$58:$G$58)^10),SEQUENCE(6,,,0))>=SUM(($B58:$G58)/(COLUMN($B$58:$G$58)^10))))
 
Upvote 0
The formula in post#5 may not be accurate is you have a lot of results, this should be better
Fluff.xlsm
ABCDEFGHIJKLM
56Most Fastest Times
57Skiffs1sts2nds3rds4ths5ths6thsDNFDNSDNCRank
58Avro323110200111
59Merle142311000445
60Truant II142000005556
61Truant III300220500333
62Uncle Fred322500000222
63Wrecker1075123103664
Main
Cell Formulas
RangeFormula
L58:L63L58=LET(r,B58:G63,c,COLUMNS(r),m,MMULT(r*10^SEQUENCE(,c,(c-1)*2,-2),SEQUENCE(c,,,0)),BYROW(m,LAMBDA(br,SUM(--(br<=m)))))
K58:K63K58=SUMPRODUCT(--($B$58:$B$63*10000000000+$C$58:$C$63*100000000+$D$58:$D$63*1000000+$E$58:$E$63*10000+$F$58:$F$63*100+$G$58:$G$63>=B58*10000000000+C58*100000000+D58*1000000+E58*10000+F58*100+G58))
M58:M63M58=SUMPRODUCT(--(MMULT(($B$58:$G$63)/(COLUMN($B$58:$G$58)^10),SEQUENCE(6,,,0))>=SUM(($B58:$G58)/(COLUMN($B$58:$G$58)^10))))
Dynamic array formulas.
 
Upvote 0
Solution
The formula in post#5 may not be accurate is you have a lot of results, this should be better
Fluff.xlsm
ABCDEFGHIJKLM
56Most Fastest Times
57Skiffs1sts2nds3rds4ths5ths6thsDNFDNSDNCRank
58Avro323110200111
59Merle142311000445
60Truant II142000005556
61Truant III300220500333
62Uncle Fred322500000222
63Wrecker1075123103664
Main
Cell Formulas
RangeFormula
L58:L63L58=LET(r,B58:G63,c,COLUMNS(r),m,MMULT(r*10^SEQUENCE(,c,(c-1)*2,-2),SEQUENCE(c,,,0)),BYROW(m,LAMBDA(br,SUM(--(br<=m)))))
K58:K63K58=SUMPRODUCT(--($B$58:$B$63*10000000000+$C$58:$C$63*100000000+$D$58:$D$63*1000000+$E$58:$E$63*10000+$F$58:$F$63*100+$G$58:$G$63>=B58*10000000000+C58*100000000+D58*1000000+E58*10000+F58*100+G58))
M58:M63M58=SUMPRODUCT(--(MMULT(($B$58:$G$63)/(COLUMN($B$58:$G$58)^10),SEQUENCE(6,,,0))>=SUM(($B58:$G58)/(COLUMN($B$58:$G$58)^10))))
Dynamic array formulas.
Thanks @Fluff and @Flashbond for your replies.

Fluff - just noticed the column "M" formula gives a different result for the last 3 ranked boats though?
 
Upvote 0
That's right, it was to demonstrate that that formula could give the wrong result in certain situations.
 
Upvote 0
Ahh got it. (y)

I think I'm running with the "L58" formula, I like that it's not relying upon a multiplier like the others. Many thanks for this!
 
Upvote 0

Forum statistics

Threads
1,223,896
Messages
6,175,265
Members
452,627
Latest member
KitkatToby

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top