当前位置:首页 > 科技 > 正文

考勤表统计上班天数,别再用5个SUMIF了,试试这个新套路

与 30万 粉丝一起学Excel

VIP学员的问题,这是一份考勤表,要统计实际上班天数,加班天数。有个特殊情况,中秋节放假3天,为了防止公式误判,在表头手工写上假日。


这种其实就是条件求和,比如现在要统计周二对应的天数,就可以用SUMIF。
=SUMIF($B$2:$AF$2,"二",B3:AF3)


语法:
=SUMIF(条件区域,条件,求和区域)

现在要统计周一到周五,最笨同时也是最容易理解的公式,就是5个SUMIF相加。
=SUMIF($B$2:$AF$2,"一",B3:AF3)+SUMIF($B$2:$AF$2,"二",B3:AF3)+SUMIF($B$2:$AF$2,"三",B3:AF3)+SUMIF($B$2:$AF$2,"四",B3:AF3)+SUMIF($B$2:$AF$2,"五",B3:AF3)

除了条件不同,其他的都一样,能否将条件合并起来,这样就可以简化公式?

这里就涉及到一个新知识,常量数组,不用按三键。{"一","二","三","四","五"}这样就表示周一到周五。常量数组,可以手工写,也可以直接引用单元格,然后在编辑栏选择区域,按F9键(部分电脑按Fn+F9)。
=SUMIF($B$2:$AF$2,{"一","二","三","四","五"},B3:AF3)


常量数组跟普通公式不一样,周一到周五是有5个结果的,同样可以在编辑栏选择整个公式,按F9键(部分电脑按Fn+F9)。


既然有多个结果,再套个SUM就可以求和。
=SUM(SUMIF($B$2:$AF$2,{"一","二","三","四","五"},B3:AF3))


同理,加班天数也出来了。
=SUM(SUMIF($B$2:$AF$2,{"六","日","假日"},B3:AF3))

现在根据常量数组再进行拓展说明, 根据分数判断等级。

=VLOOKUP(A2,D:E,2)
=VLOOKUP(A2,{0,"学渣";300,"普通人";600,"学霸";661,"学神"},2)

01第三参数为2,就是返回区域第2列,区域指D:E,第2列就是E列的对应值。

02标准的VLOOKUP函数有四个参数,现在第四参数省略不写,就是模糊查找,也就是按区间查找。

03VLOOKUP第二参数的常量数组什么意思?

在编辑栏,用鼠标先选好区域D1:E4,然后按F9键,有的电脑比较特殊需要按Fn+F9。


这样就将区域快速转换成常量数组。


别傻傻的用手工写这个常量数组,很容易出错。这个常量数组的意思,其实就是对应表的内容,转换成常量数组,就不用辅助列而已。

04常量数组用在哪呢?

如果你是会计,应该对个税公式不陌生,其实里面的{}内容都是通过单元格引用,然后按F9键得出来的。
=ROUND(MAX((H3-I3)*{0.03;0.1;0.2;0.25;0.3;0.35;0.45}-{0;2520;16920;31920;52920;85920;181920},0)-J3,2)

05数组公式又是什么?

如果你在VIP群,经常可以看到这句话,这条公式是数组公式,需要按三键结束。

对于初学者,听到这里都是一头雾水。通常情况下,我们把需要按Ctrl+Shift+Enter三键结束的公式,定义为数组公式。按三键结束,公式会自动生成{},这个可不是常量数组,不能用手工写。

你可能想看:

有话要说...

取消
扫码支持 支付码