EXCEL出勤计算公式

2024-11-22 02:29:11
推荐回答(5个)
回答1:

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

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函数。

回答2:

根据你的补充,假设你的数据在11行,那么在C11输入以下公式:

=(30-MATCH(9E+307,D11:AH11)+COUNT(D11:AH11))/30

完全实现你的要求。如图,不过稍微不同的是:在未输入任何数据时,显示的不是100%,而是#N/A。

回答3:

这要看你的出勤表格是是什么样的

我做了个格式,如下图:

橙色区域(B2、D2)设置了数据有效性,蓝色区域为公式自动生成。日期和序号根据每月天数自动调整。

如果需要HI我,我把原表发给你 

补充:

这个问题并不难。

自己提问不清楚,就别怪大家回答不对。

回答4:

假设A列1-30行代表30天,出勤就填上,不出勤就空白不填。
在B列输入公式=100-ROUND(COUNTBLANK($A$1:A1)*(100/30),0),下拉,只要你填上,B列相应行出现你的出勤率,每天的出勤率是有小数,保留整数计算

回答5:

方法一:
出勤填1,不出勤填0
C12=1-COUNTIF(D12:AH12,0)/31
以百分比显示

方法二:
事先把所有空格填“1”,当天不出勤把“1”删掉。
C12=SUM(D12:AH12)/31

方法三:
另找一个单元格填写当月的1日,比如说这个表格是计算2010年12月的出勤率,就填“2010-12-1”。如这单元格在 C10:
C12=1-COUNTBLANK(OFFSET($D12,,,1,IF(EOMONTH(TODAY(),0)=EOMONTH($C$10,0),DAY(TODAY()),DAY(EOMONTH($C$10,0)))))/DAY(EOMONTH($C$10,0))
出勤必须当天登记,如果当天没登记就视同没出勤