求用Excel计算加班时间和迟到时间的公式

早上8点上班,超过8点为迟到,用以下这个公式该如何演算
=TEXT(MOD(C2,1)+0.625-(WEEKDAY(C2,2)>5)/48,"[<=1]未迟到;[>1.125] ;迟到"
早上8点上班,超过8点为迟到,下午13:30上午,超过这个时间为迟到,请问如何才能用公式演算,计算时间单位为分钟数。因为工作量很大,所以想求高手给出一个公式,避免重复的劳动,提高工作效率。
姓名 登记号码 日期时间 机器号 比对方式 是否迟到 迟到时间 是否加班 加班时间
洛拉 143 2010-12-1 8:00 1 指纹
洛拉 143 2010-12-1 12:19 1 指纹
洛拉 143 2010-12-1 12:21 1 指纹
洛拉 143 2010-12-1 13:29 1 指纹
洛拉 143 2010-12-1 17:51 1 指纹
洛拉 143 2010-12-2 12:04 1 指纹
洛拉 143 2010-12-2 13:29 1 指纹
洛拉 143 2010-12-2 17:42 1 指纹
洛拉 143 2010-12-2 23:52 1 指纹
洛拉 143 2010-12-3 8:03 1 指纹
洛拉 143 2010-12-3 12:03 1 指纹
洛拉 143 2010-12-3 13:30 1 指纹
洛拉 143 2010-12-3 17:48 1 指纹
洛拉 143 2010-12-3 19:59 1 指纹
洛拉 143 2010-12-3 22:10 1 指纹

恳请高手帮忙,提出完美解决方案则加分。

你的回答很好,谢谢,但我想请问一下:TEXT(MOD(C2,1)+0.666中的0.666是如何得算出来的

你这样修改一下公式:
=IF(MOD(C2,1)<0.5,TEXT(MOD(C2,1)+0.666-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1]迟到"),TEXT(MOD(C2,1)+0.458-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1]迟到"))
这里是假定周六、周日不上班的。
如果周六上班,WEEKDAY(C2,2)>6
如果周六周日都上班,删掉“-(WEEKDAY(C2,2)>5)/48”
时间是否在12点以前:IF(MOD(C2,1)<0.5
12点以前,迟于8点算迟到:TEXT(MOD(C2,1)+0.666-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1]迟到"),
12点以后,迟于13点算迟到:TEXT(MOD(C2,1)+0.458-(WEEKDAY(C2,2)>5)/48,"[<=1] ;[>1]迟到")
如果上午下班不是12点,而是11:30,则IF(MOD(C2,1)<0.479
这个小数是24小时(即1天)为1,11:30,就是11.5//24=0.4791
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-09
不能太懒,说明你的数据情况,没头没尾的别人没法帮你。
相似回答