如何在多行的某一列中查找某个值?

如何在多行的某一列中查找某个值?

我有一张表格,其中 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))

相关内容