SOLVED

Help - Lookup column header based on row and data

Copper Contributor

Hello - looking for an Excel whizz. 

Trying to complete Cell J3 with a column header based on the player and their 'score' from the week. 

I have tried a combination of LOOKUP with INDEX MATCH but not quite getting it. 

Any he

 

Excel help.JPG

6 Replies
best response confirmed by GPet18 (Copper Contributor)
Solution

@GPet18  Here are 2 options that should work.  The 1st uses Table Reference (update 'Table1' to the name of your table if it is different) and is preferred since then the table can grow and you don't have to worry about adjusting the formula:

=INDEX(Table1[#Headers],MATCH($J$2,INDEX(Table1[#Data],MATCH($J$1,Table1[Player],0),),0))

This second uses the traditional cell references and you could make them really big (e.g. A1:G10000) but that is a waste and inefficient.

=INDEX($A$1:$G$1,MATCH($J$2,INDEX($A$1:$G$5,MATCH($J$1,$A$1:$A$5,0),0),))

 

@mtarler Thank you so much for the help. 

 

I am afraid I am still getting an error (#N/A). 

 

Your table obviously works, but when I typed a number into J2 that was not identical to a number within the [#Data], the formula provided an error. 

 

I am so sorry to feed this back considering your efforts for me. 

 

All the best,

 

George

of course it does if the number you put in doesn't exist. What do you want? you can change the 0 to 1 or remove altogether if it is guaranteed to be in ascending order or use an IFERROR to return "Not Found" if you prefer...

@GPet18 

By way of warning, I use Excel 365 and only develop code for that version.

= LET(
  playerData, XLOOKUP(player,ResultTbl[Player],ResultTbl),
  XLOOKUP(score, playerData, ResultTbl[#Headers],"Out of bounds",-1))

 

 

Thank you so much - that worked perfectly!!
Thank you so much - I should have made that switch to the 1. Poor error from me. Great solution.
1 best response

Accepted Solutions
best response confirmed by GPet18 (Copper Contributor)
Solution

@GPet18  Here are 2 options that should work.  The 1st uses Table Reference (update 'Table1' to the name of your table if it is different) and is preferred since then the table can grow and you don't have to worry about adjusting the formula:

=INDEX(Table1[#Headers],MATCH($J$2,INDEX(Table1[#Data],MATCH($J$1,Table1[Player],0),),0))

This second uses the traditional cell references and you could make them really big (e.g. A1:G10000) but that is a waste and inefficient.

=INDEX($A$1:$G$1,MATCH($J$2,INDEX($A$1:$G$5,MATCH($J$1,$A$1:$A$5,0),0),))

 

View solution in original post