条件求和函数有两种:
1.sumif(条件区域,条件,[求和区域]),如果条件区域和求和区域一致,第三个参数可以省略;
2.sumifs(求和区域,条件区域1,条件1,[条件区域2],[条件2]...),各条件是取且的关系;
下面介绍具体使用方法,数据如下图:
![fc0d96faf2cb2b2bdcebe2f9cce131fe.png](https://i-blog.csdnimg.cn/blog_migrate/5152b602281d07673333278b3f95184c.jpeg)
问题1:求一车间的工资总和。
因为只有一个条件,条件区域和求和区域不同,我们可以在单元格输入公式=SUMIF(B2:B15,"一车间",D2:D15)。
问题2:求三车间男性员工的工资总和。
因为有两个条件,并且两个条件是且的关系,我们可以在单元格输入公式=SUMIFS(D2:D15,B2:B15,"三车间",C2:C15,"男")。
问题3:求一车间/三车间女性员工的工资总和。
有三个条件,一车间和三车间是或的关系,车间与女性员工是且的关系,有两种方法,方法1.=SUMIFS(D2:D15,B2:B15,"一车间",C2:C15,"女")+SUMIFS(D2:D15,B2:B15,"三车间",C2:C15,"女");方法2.=SUM(SUMIFS(D2:D15,B2:B15,{"一车间","三车间"},C2:C15,"女")) ctrl+shift+enter组合键嵌入公式。 以上两周方法是等价的,方法2引用常量数组,原理与方法1一致,只是写起来更便捷。
问题4:求赵性员工的工资总和。
我们根据以上的使用经验,会想到用=SUM(SUMIF(A2:A15,LEFT(A2:A15)="赵",D2:D15)),因为条件是个数组,要用组合键嵌入公式,。但结果返回的是0,因为在sumif函数里面,条件必须是具体的值或值数组,才能让条件区域和条件进行比较,如果条件是个逻辑数组是不行的。
以下是正确方法:
1.=SUMIF(A2:A15,"赵*",D2:D15),“*”在excel里面是通配符,带面任意长度的任意字符,用在这里正合适。
2.=SUM(SUMIF(A2:A15,IF(LEFT(A2:A15)="赵",A2:A15,""),D2:D15)),组合键嵌入公式,条件必须是具体的值,也可以是具体的值数组,所以我们可以用if函数生成一个数组,和常量数组的用法是一个性质。
问题5:求一车间/三车间的赵性/孙性员工的工资总和。
首先分析问题,我们要求的是一车间赵性员工+一车间孙性员工+三车间赵性员工+三车间孙性员工的工资总和。我们可以用四个sumifs函数来做,但会比较麻烦,这里还是要用常量数组,并且要用到数组增维的概念。
数组增维概念理解,常量数组{1,2}在excel里面就是1行2列的数据,常量数组{3;4}在excel里面是2行一列的数据(注意3和4是分号分割的),如果我们将两个数组做运算:{1,2}+{3,4},两个数组因为维度不一样,所以会对应的增维,{1,2}变成{1,2;1,2},{3;4}变成{3,3;4,4},最后得到的结果是{4,5;5;6},也就是{1,2}+{3,4}={4,5;5;6},具体如下图(输入常量数组及数组计算式,都要用组合键嵌入):
![6b0c3b4a07dd26f876b35ffc3b367a37.gif](https://i-blog.csdnimg.cn/blog_migrate/8f82b1f562e26cecc2151c7d593cecb1.gif)
我们再回到这道题,可以在单元格输入公式=SUM(SUMIFS(D2:D15,B2:B15,{"一车间","三车间"},A2:A15,{"赵*";"孙*"})),按组合键输入公式,注意第一个常量数组是逗号分隔,第二个常量数组是分号分隔,两个常量数组进行运算,得到四个结果,也就是一车间赵性员工+一车间孙性员工+三车间赵性员工+三车间孙性员工,再用sum函数求和,得到我们想要的结果。
以上就是sumif(s)的常用方法啦,如有更丰富的用法, 欢迎大家补充~