员工月考勤表(这个员工考勤表,计算起来太方便了)
考勤明细是从系统导出,平常上班打卡在C、D列,周末加班打卡在E、F列,现在要计算每天加班了多少小时?
平常18点以后算加班,周末全天都算加班,不足1小时的直接舍去。
1.平常加班
D列的下班时间减去18点,就可以获得平常加班时间。
=D2-"18:00"
没有下班时间的时候,是这个符号:,文本是不能运算的,这样就导致运算出错。容错最常用的方法就是嵌套IFERROR函数。
=IFERROR(D2-"18:00",0)
这里还潜在一个问题,早退,也就是18点之前下班的。早退的话,两个时间相减是负数,类似于个税,如果是负数,就当0处理。熟悉个税公式的,都知道嵌套MAX处理。
=IFERROR(MAX(0,D2-"18:00"),0)
不足1小时的直接舍去。向下舍去有很多种方法,这里用FLOOR,1天24小时,1小时就是1/24。
=IFERROR(FLOOR(MAX(0,D2-"18:00"),1/24),0)
另外,如果是不足半小时的舍去,可以这样变动,将1/24改成0.5/24或者1/48。
财务工作中,你是否遇到焦头烂额不知如何解决的问题呢?
会计问会计问题,专家免费解答。进入
到这里平常加班的时间就出来了,当然,也可以只显示小时数。再*24,然后设置单元格为常规,就是小时数。
=IFERROR(FLOOR(MAX(0,D2-"18:00"),1/24),0)*24
平常加班已经计算出来,周末加班就变得很简单,原理是一样的。
2.周末加班
F列的时间减去E列就是周末加班,再嵌套IFERROR函数容错。
=IFERROR(F2-E2,0)
再将时间转换成小时,不足1小时的舍去。
=IFERROR(FLOOR(F2-E2,1/24),0)*24
3.总加班小时
总加班小时=平常加班+周末加班,也就是将上面2条公式相加。
=IFERROR(FLOOR(MAX(0,D2-"18:00"),1/24),0)*24+IFERROR(FLOOR(F2-E2,1/24),0)*24
如果周末按9点开始上班,公式也可以略做改动。
=IFERROR(FLOOR(F2-MAX(TIME(9,0,0),E2),1/24),0)*24+IFERROR(FLOOR(MAX(0,D2-"18:00"),1/24),0)*24
计算考勤是一件很麻烦的事,需要考虑的因素太多。还好,这份考勤记录相对标准,处理起来也不会太难。
来源:Excel不加班