EXCEL出勤计算公式

如题所述

第1个回答  2022-11-16

1、如图,为我们原始的考勤数据,上班时间为9点钟,下班时间为18点30分,晚于9点打卡则为迟到,下班时间晚于18点30分则为加班。现在需要计算出员工的迟到和加班时间差。

2、如图,在单元格I2里输入公式=IF(AND(D2=$D$2,G2>E2),G2-E2,0)。

公式的意思是,必须满足应出勤为上班状态和签到时间晚于9点钟的条件时,开始计算迟到的时间数,或者数值为0。AND函数表示检查所有参数是否符合条件,如果都符合则返回TRUE。

3、输入完第一个公式后,选中这个公式的单元格,将鼠标光标移至单元格右下角位置变成黑色十字时,按住鼠标左键往下拖拉公式。就可以看到迟到的时间数都计算出来了。8号和15号是有迟到的,其他都没有迟到。

4、接下来我们来计算加班时间。在单元格J2输入公=IF(H2>F2,H2F2,IF(H2<TIME(3,0,0),"24:00"-F2+H2,0))。TIME的意思是将参数用“小时:分钟:秒“表示出来。

5、从表格中我们可以看到,有些时间是加班至凌晨的,所以不能用简单的直接相减得出时间差来。我们先用24点减18:3得出的时间差,加上凌晨那个时间,得出的才是最终的加班时间数。

因为加班时间不会超过凌晨3点,所以我在公式中设定以3点为截点(TIME(3,0,0))。如第3步骤,设置好一个公式后向下拖拉,得出全部的加班时间来。

6、每天的迟到和加班时间数计算出来了,接下来我们需要计算整个月的迟到和加班时间数。在I33单元格输入公式=TEXT(SUM(I2:I32),"[H]:M");在J33单元格输入公式=TEXT(SUM(J2:J32),"[H]:M")。

TEXT函数的意思是根据指定的数值格式将数字转成文本。如果直接相加是不能得出正确的时间总数的。如加班时间数,如果直接相加得出的是19:57,因为这个时间格式是24小时制的。所以一定要用上TEXT函数。

相似回答