我有下面的公式,用于查找A1:A10
所分配的分数。
{=INDEX(Table1[ScoreNum],MATCH(A1:A10,Table1[ScoreWord],0))}
我需要计算整个数组的平均结果。
但是使用此功能时:
{=AVERAGE(INDEX(Table1[ScoreNum],MATCH(A1:A10,Table1[ScoreWord],0)))}
返回带有索引/匹配的第一个查找结果,而不返回该数组公式中所有可返回值的平均值。
那怎么办?
Sheet1
表2:表1
注意:B11
中的公式为:=AVERAGE(B1:B10)
,并返回真实值。我需要不使用B
帮助程序列而直接返回它,而是直接在单个单元格(A11
)中显示图片中公式的真实形式。
真的是你的。
答案 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)))))
也作为数组公式输入。