基于两列标准的行的dynamic总和

首先让我说,我已经search过,我发现了类似的问题,但不能适应任何。

这就是问题:

!(http://i.imgur.com/VoCjP4o.jpg)

因此,对于c1的标准“a”,对于c2和“m3”的“c”,结果将是11.如果我将m2换成m2,则结果将是6。

c1和c2的组合是唯一的。

结果可以发现:

=SUMPRODUCT((A2:A5="a")*(B2:B5="c");(C2:C5+D2:D5+E2:E5)) 

但是,我不能做最后一列的dynamic…

用数组公式可以得到结果:

 =SUM(IF($A$1:$A$5="a";IF($B$1:$B$5="c";$C$1:$E$5;0);0)) 

但它似乎并不接受数组内的偏移公式,所以我可以使范围dynamic。

使用INDEX / MATCH,可以设置范围的范围。 尝试这个:

 =SUM(INDEX($C$2:$E$5;MATCH(1;IF($A$2:$A$5=H2;IF($B$2:$B$5=I2;1;0);0);0);1):INDEX($C$2:$E$5;MATCH(1;IF($A$2:$A$5=H2;IF($B$2:$B$5=I2;1;0);0);0);MATCH(J2;$C$1:$E$1;0))) 

这是一个数组公式,因此在离开编辑模式而不是input时使用Ctrl-Shift-Enter。

在这里输入图像说明