The quick answer is that you could use array formulas.
P3:
Formula:
=AVERAGE(IF((Table13[Product]=$A3)*ISNUMBER(Scores),Scores))
Your P3 formula, =AVERAGEIF(Table13[Product],$A3,Scores), returns the same result as =AVERAGEIF(Table13[Product],$A3,INDEX(Scores,0,1)), so it appears AVERAGEIF constrains its 3rd argument to the same size as its 1st argument. FWIW, =AVERAGEIFS(Scores,Table13[Product],$A3) returns #VALUE! . This isn't how I recall it working in previous Excel versions, but I don't have any others with which to test at the moment, only Office 365.
Usually I'd suggest SUMPRODUCT instead, but in this case you also have text N/A values in Scores, which scuppers a single SUMPRODUCT call, though you could use
P3:
Formula:
=SUMPRODUCT(--(Table13[Product]=$A3)*COLUMN(Scores)^0,Scores)/SUMPRODUCT((Table13[Product]=$A3)*ISNUMBER(Scores))
however, the array formula above is more efficient.
Bookmarks