基于两列标准的动态行总和

时间:2016-03-07 11:25:43

标签: excel excel-formula

首先让我说我之前搜索过的,我发现了类似的问题,但无法适应。

这是问题所在:

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

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

c1和c2的组合是唯一的。

结果可以通过以下方式找到:

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

但是我无法使列的最终总和变得动态......

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

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

但它似乎不接受数组中的偏移公式,以便我可以使范围动态化。

1 个答案:

答案 0 :(得分:0)

使用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)))

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

enter image description here