EXCEL出勤计算公式

本人不才,实在想不出来,求高手解答。

计算30天的计算公式,要求是只要出勤阶段 没有间断过就出勤率为百分之100 比如一月30天,出勤时期 前10天里没有任何断勤 应该为百分之100 第11天里没有出勤 第12天正常出勤这样出勤为 97 以依此类推 这种公式谁能帮我想一个。好用后另加悬赏。

意思就是 一月下来是百分之100减去没有出勤的 月初就开始这样计算。
你们给的都都不对啊,我不是计算时间什么的,即是计算天数, 就这么说吧,我的出勤率是 C11 1号是D11 31 号是AH11(横向) 我在出勤率上怎么添也就是C11的位置上,如果第一天这个人 1号来了,我在D11下面填写 数字1 出勤率显示100 2号来了 我接着填写1 出勤率为100 3号没来,我什么都没有填写 出勤率为 97。这样的,也不一定非的填写这样,主要是想从月初就开始计算 100 的。。看好问题在回答。
是我问题不明白 还是你们没读明白,我说了我不要时间的出勤,我就要天数的。
要求带入 C11=D11+AH11 总共30天 刚开始的都是空白的,第一天我看见谁到了我写个1,第二天没到,我就不填,这样他出勤就降为 97 。这种感觉减法似的

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

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

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

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

本回答被提问者和网友采纳
第2个回答  2010-12-09

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

我做了个格式,如下图:

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

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

补充:

这个问题并不难。

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

第3个回答  2010-12-09
假设A列1-30行代表30天,出勤就填上,不出勤就空白不填。
在B列输入公式=100-ROUND(COUNTBLANK($A$1:A1)*(100/30),0),下拉,只要你填上,B列相应行出现你的出勤率,每天的出勤率是有小数,保留整数计算
第4个回答  2010-12-09
方法一:
出勤填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))
出勤必须当天登记,如果当天没登记就视同没出勤
相似回答