Sorry if I have completely butchered the terminology in the title. Relatively new to Excel.
I have the following table.
Name | Score A | Score B | Score C |
---|---|---|---|
Bob | 10 | 8 | 6 |
Sue | 9 | 12 | 10 |
Joe | 11 | 2 | 4 |
Susan | 7 | 9 | 10 |
Tim | 10 | 12 | 4 |
Ellie | 9 | 8 | 7 |
What I am trying to achieve is that for each person, to return the score type for that person's best score. I'm referencing the person's name on another sheet.
For example. For Susan
;
Their best score is 10
and that is under Score C
.
So I want the final value in the Score Type
column in my other sheet for Susan
to be Score C
Like so
Name | Best Score | Score Type |
---|---|---|
Ellie | 9 | Score A |
Bob | 10 | Score A |
Susan | 10 | Score C |
I know to get the index of each persons row by
=MATCH(A2,$A$2:$A, 0)
I can get the max value for that person via
{=MAX(IF($A$2:A = A2,($B$2:$D)))}
I'm just not sure how to use that information to return the column label corresponding to the person and their max score.
Any help would be greatly appreciated
CodePudding user response:
I think it is pretty easier. Try-
=INDEX($B$1:$D$1,MATCH(MAX(B2:D2),B2:D2,0))
For dynamic spill array-
=BYROW(B2:D7,LAMBDA(x,FILTER(B1:D1,x=MAX(x))))
EDIT: Then try below formula-
=INDEX($B$1:$D$1,1,MAX(($A$2:$A$7=$I3)*($B$2:$D$7=$J3)*(COLUMN($B$2:$D$7)))-COLUMN($A$2))
CodePudding user response:
For Larger Data you could use this one