在Excel中计算单元格中数组结果的AVERAGE

时间:2018-12-31 09:39:18

标签: excel excel-formula array-formulas

我有下面的公式,用于查找A1:A10所分配的分数。

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

我需要计算整个数组的平均结果。

但是使用此功能时:

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

返回带有索引/匹配的第一个查找结果,而不返回该数组公式中所有可返回值的平均值。

那怎么办?


The sample Workbook file

Sheet1

Sheet1 picture

表2:表1

Sheet2 picture

注意B11中的公式为:=AVERAGE(B1:B10),并返回真实值。我需要不使用B帮助程序列而直接返回它,而是直接在单个单元格(A11)中显示图片中公式的真实形式。

真的是你的。

2 个答案:

答案 0 :(得分:2)

我将使用以下 array-formula

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

要输入/确认数组公式,请在按下 enter 的同时按住 ctrl + shift 。如果正确执行此操作,Excel会在公式栏中显示的公式周围放置括号{...}

AVERAGEIF函数返回数组{1;0.8;1;0.2;0.6;0.8;1;1;0.6;0.2},这是您在屏幕快照的列B中显示的内容。

然后,我们通过将AVERAGE嵌套在AVERAGEIF(..函数中来AVERAGE该数组。

答案 1 :(得分:2)

另一种方法:

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

也作为数组公式输入。