考勤表是目前Excel一大难题,难住一大堆高手。
难在哪?难在于没有统一标准!
每个公司所用的考勤软件又不一样,导出来的数据各种各样都有,不仅如此,每个公司的计算方法也不一样。
很多高手,遇到考勤表都直接绕过,太花费时间。
学员的问题,要统计正常天数、加班天数、合计。加班天数的计算标准,只要当天有22:00打卡的算半天。
这家工厂打卡记录转换成考勤表,对于一线员工还算可以,不需要考虑迟到早退这些,这样一来问题难度就降低了不少。
1.正常天数
只需判断非空单元格的次数,即可解决。
=COUNTA(B2:AF2)
2.加班天数
提取每个单元格最后的时间跟22:00比较,时间表面看是最后5位。可惜,提取后发现少1位。
=RIGHT(AE2,5)
明明是5位,怎么提取出来时间不对,这只能证明里面含有隐藏字符打卡记录转换成考勤表,所以要提取6位。
=RIGHT(AE2,6)
最后1位隐藏字符是什么呢?卢子放弃了猜测,再用提取左边5位的方法,这样就得到时间。
=LEFT(RIGHT(AE2,6),5)
用文本函数提取出来的时间是文本格式,不能直接比较,需要转换成数值格式,前面加–转换即可。按照目前思路,嵌套SUMPRODUCT函数应该可以解决,可万万没想到,公式往下拉又出错了。
财务工作中,【 88个创.业项.目】你是否遇到焦头烂额不知如何解决的问题呢?
(此处已添加小程序,请到今日头条客户端查看)
22/24就是代表22:00,因为一天24小时,也可以用TIME(22,0,0)。
=SUMPRODUCT(–(–LEFT(RIGHT(B2:AF2,【78个搞.钱.项.目】6),5)>=22/24))/2
卢子找了一个没有打卡记录的单元格测试,发现问题就出在这里。
有错误值,再嵌套一个IFERROR函数,让错误值显示0,这个是数组公式,输入公式后按Ctrl+Shift+Enter三键结束。
=SUM(–(IFERROR(–LEFT(RIGHT(B3:AF3,6),5)>=22/24,0)))/2
经过了反复测试,终于可以了,真不容易。
3.合计
两个天数相加即可。
=AH3+AI3
这种数据还不是最垃圾,比这个更垃圾的还有,真的吐血的心都有。留着改天心情好再说。
———END———
限 时 特 惠: 【萌 心云学 堂】每日持续更新海量各大内部创业教程, 点击查看详情
站 长 微 信: 929444
本站内容均转载于互联网,并不代表副业库立场!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理!
拒绝任何人以任何形式在本站发表与中华人民共和国法律相抵触的言论!