0

I'm trying to do a scoresheet lookup in Excel, and want to do it without vba.

Mainly so that the spreadsheet can be used in either Mac or Windows without issue, and also to give the score sheet a "live" feel to it with the updates happening in real time.

What I have so far is:

IMG1

And using the array formula

{=MAX(IF(B2:B18=F1,C2:C18))}

I can return the best score for team 1 (93)

However although Team 1 can have as many competitors as they want, only nominated competitors scores register.

And as Felix is not a nominated competitor (only the four listed in cells F2 - F5 are)

The best score for Team 1 should be Ryan's score of 64.

So my conundrum is, I want to return the max score (like my formula already does) with the condition that the competitors name is in the Team list in column F.

I've been messing around no luck and am wondering if this is even possible without vba coding.

Many Thanks

Michael

3
  • 1
    Can the same name appear against different teams? Commented Nov 24, 2018 at 22:08
  • Yes the same name would be able to appear against different teams Commented Nov 25, 2018 at 7:48
  • you can use IsNumber Search or add another criteria to pnuts formula. Commented Nov 25, 2018 at 8:31

3 Answers 3

1

You can use this array-entered function:

=MAX(($A$2:$A$18=TRANSPOSE(F2:F5))*($B$2:$B$18=F1)*$C$2:$C$18)

To enter/confirm an array formula, hold down ctrl + shift while hitting enter. If you do this correctly, Excel will place braces {...} around the formula seen in the formula bar.

enter image description here

Note that I chose to also check that the nominated competitor is in the requisite team, just in case you have two people with the same name on different teams. But that is not necessary.

NOTE: AGGREGATE function solution removed as it did not work properly.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks Ron, I'm using an older version of excel, but can get access to Excel 2016 so will definitely try this out when I get the chance. Out of curiosity what other formula could be used here for older versions?
0

enter image description here

 =MAX(IF(Scores[Team]=E1,Scores[Score])*(Scores[Competetitor]=TRANSPOSE(Team1[Team 1])))

1 Comment

Thanks, I can't get this to work Did you created a pivot chart or something?
0

You could also use

=MAX(IF(ISNUMBER(SEARCH(F2:F5,A2:A18)),IF(B2:B18=F1,C2:C18)))

Enter with Ctrl+Shift+Enter

2 Comments

Hi @QHarr That worked great with the data i provided, however when I applied it to my full data it didn't work for some reason (added image in an answer to my own questions as i'm not sure how to do it here)
Also, your formula should be C2:C28 at the end. The arrays need to be the same length.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.