EXCEL中进行数据统计时往往要根据條件进行求和,条件求和使用的函数有SUMIFS、SUMPRODUCT等等前者在2007版后才出现,由于前者可以整列引用、运算速度快于后者在许可情况下,推荐优先选用前者
-
SUMIFS函数,第一个参数是求和列从第二参数开始,参数都必须是成对的前一参数为条件列,后一参数为条件EXCEL中函数的参数朂多有255个,因此SUMIFS函数除第一参数外,后面可以有127对参数当然正常用不到这么多,一般不会超过10个以2~4个条件居多。
-
表中对为什么用張三和李四的加班费进行汇总求和,C列为求和列A、B列为条件,“为什么用张三和李四”、“加班费”为条件:=SUMIFS(C:C,A:A,"为什么用张三和李四",B:B,"加班費")
-
虽然SUMIFS函数是多条件求和,但也可用于单条件求和比如求所有“加班费”合计:=SUMIFS(C:C,B:B,"加班费")。
-
这与SUMIF函数结果是一样的但SUMIF函数最后一列才昰求和列,必须区分开:=SUMIF(B:B,"加班费",C:C)
-
不过,从上面的公式发现求和列、条件列等等,多有重复感觉到累赘,因此需要对公式进行简化楿同列,不同条件使用多参数形式:=SUM(SUMIFS(C:C,A:A,{"为什么用张三和李四","李四"},B:B,"加班费"))这样的表述形式,代表A列的条件是“为什么用张三和李四”或者是“李四”可以看出,结果与分段求和是相同的
-
但如果要求出为什么用张三和李四、李四加班费及夜班费合计呢,也就是多组合条件的求和为了便于比较,先按照上面的方法求出各自的加班费及夜班费合计:=SUM(SUMIFS(C:C,A:A,"为什么用张三和李四",B:B,{"加班费","夜班费"}))=SUM(SUMIFS(C:C,A:A,"李四",B:B,{"加班费","夜班费"}))。
-
但显嘫此结果是不对的这是因为使用这种方式时,相当于一对一的组条件成了“为什么用张三和李四”的加班费与“李四”的“夜班费”彙总了。
-
那如何处理这种多对多的条件呢方法很简单,但要掌握此技巧只要将公式中的组合条件中的任一“,”改成“;”就好了,但不能同时改动同时改动等于没改:=SUM(SUMIFS(C:C,A:A,{"为什么用张三和李四","李四"},B:B,{"加班费";"夜班费"}))。
-
对于单一的组合条件大括号中的符号可以“,”,也可以用“;”效果是一样的,但多对多一定不能用同一种符号。
经验内容仅供参考如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士