找到最高三位数的AverageIf

时间:2018-01-28 16:36:52

标签: excel excel-formula

我试图根据B列中的三个最大数字找到G列的平均值。

我尝试过的公式是:

=AVERAGEIF(B7:B131,LARGE(B7:B131,{1,2,3}),G7:G131)

问题是它不是对三者进行平均,而是仅显示G列,相当于B列中的最大数字。

有人知道在这个例子中使用的正确公式吗?

2 个答案:

答案 0 :(得分:5)

如果column B中的数字完全不同,正如您所说,那么您可以通过column Gcolumn B中大于或等于第三大,即

=AVERAGEIF(B7:B131,">="&LARGE(B7:B131,3),G7:G131)

答案 1 :(得分:1)

如果您想从不同的列中获取匹配的值(来自同一行),您可以使用VLOOKUPINDEX\MATCH,就像我在此处所做的那样。

从那时起,它变得微不足道。让我知道它是否适合你:

=AVERAGE(INDEX(G:G,MATCH(LARGE(B:B,1),B:B,0),1), 
         INDEX(G:G,MATCH(LARGE(B:B,2),B:B,0),1),  
         INDEX(G:G,MATCH(LARGE(B:B,3),B:B,0),1))

请注意,我认为B栏中的值是唯一的,正如您在评论中提到的那样。