如图,我们要把员工的工作记录转化为考勤数据,因为要统计的数据不在一列,而是多列,这里就需要对这个数据区域进行一个条件的筛选,当然这里用新函数FILTER也能解决,但是我们也可以通过常用函数IF解决。

excel中多列按条件汇总数据,IF函数数组应用-趣帮office教程网

这里有两个条件要求,一个是汇总,一个是日期分解;汇总是将员工这段时间上班的天数统计出来,日期分解则是把每天上班的情况分解出来,我们这里用数字1代表上班,数字0代表不上班。

在I2单元格输入=COUNT(IF($C$2:$E$12=I1,$A$2:$A$12,""))后,既得张三的上班天数,这里IF($C$2:$E$12=I1,$A$2:$A$12,""),是区域判断,即如果$C$2:$E$12区域有值等于I1,即返回当前日期。

excel中多列按条件汇总数据,IF函数数组应用-趣帮office教程网

公式IF($C$2:$E$12=I1,$A$2:$A$12,"")返回的是一个数组,我们要通过COUNT函数转化为一个数据即可。

excel中多列按条件汇总数据,IF函数数组应用-趣帮office教程网

对于日期分解,在I3位置输入=COUNT(IF(($C$2:$E$12=I$1)*($A$2:$A$12=$H3),1,""))后,拉满数据区域即可。这里用的是“*”连接,表示同时满足,既满足$C$2:$E$12=I$1,又满足$A$2:$A$12=$H3,相当于查询,这里也是输出的是数组,也得用COUNT函数连接。

excel中多列按条件汇总数据,IF函数数组应用-趣帮office教程网

当然,这里也可以用COUNTIF函数和SUMIF函数解决,同理。