多条件求和在实际的工作中应用非常广泛,我们可以用公式来实现多条件求和,用到的函数有SUM、SUMPRODUCT、MMULT和SUMIFS,其中SUMIFS函数是Excel2007新增的函数。下面来是一个具体的例子,数据在A2:F23区域中,其中要求和的区域是F2:F23。 方法一:用SUM函数 用SUM函数进行多条件求和,公式基本结构是SUM((条件1)*(条件2)*(求和数据区)),必需用数组公式,公式输入完毕后按Ctrl+Alt+Enter结束。 1.计算出7月份广州的总销量: =SUM(($A$2:$A$23="7月")*($B$2:$B$23="广州")*$F$2:$F$23) 2.计算出7月和10月拖鞋总销量: =SUM((($A$2:$A$23="7月")+($A$2:$A$23="10月"))*($C$2:$C$23="拖鞋")*$F$2:$F$23) 公式中的加号相当于逻辑或。 3.计算出7-10月武汉男式袜子销量: =SUM((($B$2:$B$23="武汉")*($C$2:$C$23="袜子"))*($E$2:$E$23="男")*$F$2:$F$23) 方法二:用SUMPRODUCT函数 公式结构同SUM函数,只不过不用数组公式。 1.计算出7月份广州的总销量: =SUMPRODUCT(($A$2:$A$23="7月")*($B$2:$B$23="广州")*$F$2:$F$23) 2.计算出7月和10月拖鞋总销量: =SUMPRODUCT((($A$2:$A$23="7月")+($A$2:$A$23="10月"))*($C$2:$C$23="拖鞋")*$F$2:$F$23) 公式中的加号相当于逻辑或。 3.计算出7-10月武汉男式袜子销量: =SUMPRODUCT((($B$2:$B$23="武汉")*($C$2:$C$23="袜子"))*($E$2:$E$23="男")*$F$2:$F$23) 方法三:用MMULT函数 用MMULT函数进行多条件求和特别适合于数据量较大的情况。MMULT函数的语法是:MMULT(array1,array2),其中参数array1和array2 是要进行矩阵乘法运算的两个数组。函数返回两个数组的矩阵乘积。要求array1 的列数必须与 array2 的行数相同,而且两个数组中都只能包含数值。本例中的第一参数为一行N列,而第二参数为N行一列。 公式的基本结构是MMULT(条件1,(条件2)*(求和数据区)),必需用数组公式,公式输入完毕后按Ctrl+Alt+Enter结束。 =MMULT(--(TRANSPOSE($A$2:$A$23)="7月"),($B$2:$B$23="广州")*$F$2:$F$23) 2.计算出7月和10月拖鞋总销量: =MMULT(--(TRANSPOSE(($A$2:$A$23="7月")+($A$2:$A$23="10月"))),($C$2:$C$23="拖鞋")*$F$2:$F$23) 公式中的加号相当于逻辑或。 3.计算出7-10月武汉男式袜子销量: =MMULT(--(TRANSPOSE(($B$2:$B$23="武汉")*($C$2:$C$23="袜子"))),($E$2:$E$23="男")*$F$2:$F$23) 方法四:用SUMIFS函数 SUMIFS(sum_range, criteria_range1, criteria1, [criteria_range2, criteria2], …),即: =SUMIFS($F$2:$F$23,$A$2:$A$23,"7月",$B$2:$B$23,"广州") 2.计算出7月和10月拖鞋总销量: =SUMIFS($F$2:$F$23,$A$2:$A$23,"7月",$C$2:$C$23,"拖鞋")+SUMIFS($F$2:$F$23,$A$2:$A$23,"10月",$C$2:$C$23,"拖鞋") 3.计算出7-10月武汉男式袜子销量: =SUMIFS($F$2:$F$23,$B$2:$B$23,"武汉",$C$2:$C$23,"袜子",$E$2:$E$23,"男") |