我有一张表格,其中 A 列有一列表示周数 (1-52),我想获取同一张表格的 D 列中列出的所有项目的平均值。因此每周用 5 行表示。
问题是,如果我使用 VLOOKUP,它只会显示遇到的第一行数据。我希望从 D 列获取所有 5 行数据,然后计算它们的平均值。
我试过了
=AVERAGE(VLOOKUP(WEEKNUM(TODAY(),21)-1,*TableName*[[*1stColName*]:[*4thColName*]],4,FALSE))
&
=AVERAGE(INDEX($D$1:$D$201,MATCH(WEEKNUM(TODAY(),21)-1,$A$1:$A$201,0)))
问题是,每个基本公式(没有平均值)只给出从顶部开始遇到的第一行。
答案1
Vlookup 和 Index/Match 只返回一个值。
在 Excel 2007 及更高版本中,您可以使用 AverageIF(如果有多个条件,甚至可以使用 AverageIFS)。
=AVERAGEIF($A$2:$A$20,WEEKNUM(TODAY(),21),$C$2:$C$20)
在早期版本中,您可以使用此数组公式,必须使用 Ctrl-Shift-Enter 进行确认
=AVERAGE(IF($A$2:$A$20=WEEKNUM(TODAY(),21),$C$2:$C$20))