Find highest scorers and return their name

tlg

New Member
Joined
Jan 27, 2011
Messages
20
Office Version
  1. 2019
Platform
  1. Windows
Hello!

I am looking for help with an excel document I have which has a list of names (currently six but likely to increase to more than twenty) and how many points they have for a particular task which results in a percentage of the total possible points they could have had.

I would like a formula which would look for the top 3 highest scorers and return their names in a cell.

I have created a quick excel sheet which you will hopefully see what I would like to achieve.

Example Tasks Region.xlsx
ABCDEFGHIJKLMNOPQRST
1NumberNameSaturdaySundayMondayTuesdayWednesdayThursdayFridayTotals
2ABABABABABABABABA + B%
3Possible Points Each03006451534352251641
4Possible Points Team01800362430630182418301215096246
54149John3645153435025143995.1%
64178David2445053415023103380.5%
74279Peter3645152435125143995.1%
84419Karen3545133425022133585.4%
94638Emma3635133430018133175.6%
104639Julie0545143435023113482.9%
11Total014003223305251724152511367521185.8%
12
13TotalTarget%
14Total A:13615090.7%
15Total B:759678.1%
16Total A+B:21124685.8%
17
18Top 3 for A+B%
19
20
21
Task Scores
Cell Formulas
RangeFormula
Q5:R10,Q3:R3Q3=SUM(C3+E3+G3+I3+K3+M3+O3)
S3,S5:S10S3=SUM(Q3+R3)
C4:R4C4=SUM(C3)*6
S4S4=SUM(Q4:R4)
T5T5=SUM(S5/S3)
T6T6=SUM(S6/S3)
T7T7=SUM(S7/S3)
T8T8=SUM(S8/S3)
T9T9=SUM(S9/S3)
T10:T11T10=SUM(S10/S3)
C11:S11C11=SUM(C5:C10)
Q14Q14=SUM(G11+I11+K11+M11+O11)
R14R14=SUM(Q4)
Q15Q15=SUM(D11+H11+J11+L11+N11+P11)
R15R15=SUM(R4)
Q16:R16Q16=SUM(Q14:Q15)
T14:T16T14=SUM(Q14/R14)
Cells with Conditional Formatting
CellConditionCell FormatStop If True
T14:T16Cell Value>=0.9textNO
T14:T16Cell Value<0.8textNO
T14:T16Cell Valuebetween 0.8 and 0.89textNO
T5:T11Other TypeColor scaleNO
K15:K22Other TypeColor scaleNO


So based on the current data, I would like to auto populate cell M19 with the names as follows:
1. John, Peter 95.1%
M20 will be:
2. Karen 85.4%
and M21 will be:
3. Julie 82.9%

Is there a way I can achieve this? It will often be multiple people with the same score so I need to ability to return more than one name in the cells where this occurs.

I hope this makes sense.

Thank you as always for your help!
 
In that case I would do the numbers first and then use that for the names as that makes the names formulas considerably simpler. :)
(I've suggested/changed a lot of the other formulas in the region shown below too)

24 11 10.xlsm
BCDEFGHIJKLMNOPQRST
1NameSaturdaySundayMondayTuesdayWednesdayThursdayFridayTotals
2ABABABABABABABABA + B%
3Possible Points Each03006451534352251641
4Possible Points Team01800362430630182418301215096246
5John3645153435025143995.1%
6David2445053415023103380.5%
7Peter3645152435125143995.1%
8Karen3545133425022133585.4%
9Emma3635133430018133175.6%
10Julie0545143435023113482.9%
11Total014003223305251724152511367521185.8%
12
13TotalTarget%
14Total A:13615090.7%
15Total B:759678.1%
16Total A+B:21124685.8%
17
18Top 3 for A+B%
19John, Peter95.1%
20Karen85.4%
21Julie82.9%
Task Scores (2)
Cell Formulas
RangeFormula
Q3:R10Q3=SUMIF($C$2:$P$2,Q$2,$C3:$P3)
S3:S10S3=Q3+R3
C4:P4C4=C3*6
T5:T10T5=S5/S$3
C11:S11C11=SUM(C5:C10)
T11T11=S11/S4
Q14Q14=Q11
R14R14=Q4
Q15Q15=R11
R15R15=R4
Q16:R16Q16=SUM(Q14:Q15)
T14:T16T14=Q14/R14
M19:M21M19=TEXTJOIN(", ",1,IF(T$5:T$10=T19,B$5:B$10,""))
T19:T21T19=AGGREGATE(14,6,T$5:T$10/(T$5:T$10<T18),1)
Press CTRL+SHIFT+ENTER to enter array formulas.
Absolutely outstanding, thank you so much, I have learnt some new tricks!

Thanks again!
 
Upvote 0

Excel Facts

How to change case of text in Excel?
Use =UPPER() for upper case, =LOWER() for lower case, and =PROPER() for proper case. PROPER won't capitalize second c in Mccartney
You are welcome. Thanks for the follow-up. :)
Sorry to be a pain, I have sent the excel to a colleague to use but they are using a 2016 version of Excel.

If they update any of the scores in the main part of the sheet, it causes the list of names to be replaced by #NAME?, even if they change the score back to the original number it doesn't populate the names back in.

Looking at the formula which is in the cell M19 it has _xlfn. added between the = and TEXTJOIN, so it shows =_xlfn.TEXTJOIN(", ",1,IF(T$5:T$10=T19,B$5:B$10,""))

I have tried removing this but it hasn't fixed it.

Is there a way to make this compatible with an older version of Excel?

Thank you!
 
Upvote 0
TEXTJOIN is the problem as that function does not exist in Excel 2016. Further, early versions like 2016 are very poor at being able to join text in a cell like you are wanting to do in M19 and below.
If you really need that format then you will likely need to move to a vba solution. Post back if you want to go down that path.

However, if the following result format would be acceptable then formulas are possible.
The formula in helper column U needs to be confirmed in U5 with Ctrl+Shift+Enter, not just Enter before being copied down.
Formulas in M19 and T19 need to be copied down as far as you might ever need to get the top 3 different values.

tlg.xlsm
BCDEFGHIJKLMNOPQRSTU
1NameSaturdaySundayMondayTuesdayWednesdayThursdayFridayTotals
2ABABABABABABABABA + B%
3Possible Points Each03006451534352251641
4Possible Points Team01800362430630182418301215096246
5John3645153435025143995.1%1
6David2445053415023103380.5%4
7Peter3645152435125143995.1%1
8Karen3545133425022133585.4%2
9Emma3635133430018133175.6%5
10Julie0545143435023113482.9%3
11Total014003223305251724152511367521185.8%
12
13TotalTarget%
14Total A:13615090.7%
15Total B:759678.1%
16Total A+B:21124685.8%
17
18Top 3 for A+B%
19John95.1%
20Peter95.1%
21Karen85.4%
22Julie82.9%
23  
24  
Task Scores (3)
Cell Formulas
RangeFormula
Q3:R10Q3=SUMIF($C$2:$P$2,Q$2,$C3:$P3)
S3:S10S3=Q3+R3
C4:P4C4=C3*6
T5:T10T5=S5/S$3
U5:U10U5=COUNT(IF(T$5:T$10>T5,IF(MATCH(T$5:T$10,T$5:T$10,0)=ROW(T$5:T$10)-ROW(T$5)+1,1)))+1
C11:S11C11=SUM(C5:C10)
T11T11=S11/S4
Q14Q14=Q11
R14R14=Q4
Q15Q15=R11
R15R15=R4
Q16:R16Q16=SUM(Q14:Q15)
T14:T16T14=Q14/R14
M19:M24M19=IF(T19="","",INDEX(B:B,AGGREGATE(15,6,ROW(B$5:B$10)/(T$5:T$10=T19),COUNTIF(T$19:T19,T19))))
T19:T24T19=IF(SMALL(U$5:U$10,ROWS(T$19:T19))<=3,INDEX(T$5:T$10,MATCH(SMALL(U$5:U$10,ROWS(T$19:T19)),U$5:U$10,0)),"")
Press CTRL+SHIFT+ENTER to enter array formulas.
 
Upvote 0

Forum statistics

Threads
1,224,731
Messages
6,180,614
Members
452,991
Latest member
JM_000888

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