1
votes

I have the below formula that Lookup the A1:A10 appropriated Score Number.

{=INDEX(Table1[ScoreNum],MATCH(A1:A10,Table1[ScoreWord],0))}

I need calculate the AVERAGE result of this entire array.

But when using this:

{=AVERAGE(INDEX(Table1[ScoreNum],MATCH(A1:A10,Table1[ScoreWord],0)))}

Returns the first looked up result with Index/Match, against returns the average of all returnable values whit this array formula.

How can do that?


The sample Workbook file

Sheet1

Sheet1 picture

Sheet2: Table1

Sheet2 picture

Note: The formula in B11 is: =AVERAGE(B1:B10) and returns the true value. I need return this without using the B helper column, directly in a single cell (A11) with the true form of formula shows in the picture.

Very truly yours.

2
What does the first formula return and where does it return the results?VBasic2008
It writed in A14 and returns the first lookup value (The appropriated Score value of the A3)mgae2m
Please edit your question to show a sample of data. See How to create a Minimal, Complete, and Verifiable example. To make the data useful edit your question to post it as text, perhaps using this Markdown Tables Generator, or possibly upload a workbook (with sensitive information removed) to some public website and post a link in your original questionRon Rosenfeld
If assign the first formula to several vertical cells (same as A14:A17) it returns the several lookedup values.mgae2m
Now use the range of the results to get the average.VBasic2008

2 Answers

2
votes

Another method:

=AVERAGE(INDEX(Table1[Column2],N(IF({1},MATCH(A1:A10,Table1[Column1],0)))))

also entered as an array formula.

2
votes

I would use, instead, this array-formula:

=AVERAGE(AVERAGEIF(Table1[Column1],A1:A10,Table1[Column2]))

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.

The AVERAGEIF function returns the array {1;0.8;1;0.2;0.6;0.8;1;1;0.6;0.2} which is what you are showing in your column B in your screenshot.

We then AVERAGE that array by nesting the AVERAGEIF(.. within the AVERAGE function.