首页 > 解决方案 > Excel:多个单元格的averageif函数

问题描述

我有这样的数据:

   A  B  C  D  E
1  6  7  8  9  1
2  1  2  3  4  5
3  N2 N4 N3 N5 N1

所有值都与数字 ( N1, N2 ...) 相关联。我知道如何使用以下方法按数字获取一个值SUMIF

=SUMIF($A$3:$E$3; "N1"; $A$2:$E$2) ' will get "5"

但我还有另一项任务:我需要在使用(或)m建立值之前获取最后一个值的平均值。 例如对于,和: 我们将找到数字 "5" 并在之前的行中获取最后三个值的平均值: 我怎样才能正确地做到这一点?SUMIFAVERAGEIF
m=3N = N1row = 2N1(5 + 4 + 3) / 3 = 4

标签: excelexcel-formula

解决方案


如果您没有 Excel O365,您可以使用:

在此处输入图像描述

中的公式L2

=SUMPRODUCT(INDEX(A1:E2,I3,ROW(INDEX(A:A,MAX(MATCH(I2,A3:E3,0)-I1+1,1)):INDEX(A:A,MATCH(I2,A3:E3,0)))))/I1

N4有点长,但如果你使用或者N2你可以有“m = 3” ,它也可以工作。


如果有 O365,您可以使用:

=SUM(INDEX(A1:E2,I3,SEQUENCE(I1,,MATCH(I2,A3:E3,0)-I1+1)))/I1

这是基于您将始终有“m”值可用的假设而做出的。


推荐阅读