EXCEL中时间相减,专门用于算考勤表格。

所编辑的公式应该满足如下要求
1、上班时间为07:30(即E1<=07:30取07:30,若E1>07:30取“迟到”,若E1=空格相当于没打卡考勤则取“空格”)结果显示在J1单元格。
2、下班时间为16:00(即15:55<F1<16:15取16:00,若F1=>16:15取"F1"即F1<=15:55取"早退",若F1=空格相当于没打卡考勤则取“空格”)结果显示在K1单元格。
3、若K1<16:15则按正常白班算,则用K1减J1减半个小时吃中饭时间,得出时间差,格式为几点几小时显示在G1单元格里
4、若K1>=16:15则算加班,则K1减16:00减半个小时吃晚饭时间,得出时间差,格式为几点几小时显示在H1单元格里。

第1个回答  2013-01-11
1.J2格=IF(E2="","",IF(HOUR(E2)>7,"迟到",IF(HOUR(E2)<7,E2,IF(MINUTE(E2)>30,"迟到",E2))))
2.K2格=IF(F2="","",IF(HOUR(F2)<15,"早退",IF(HOUR(F2)>15,F2,IF(MINUTE(F2)<=55,"早退","16:00"))))
3.G2格=IF(OR(K2="",K2="早退")=TRUE,"",IF(OR(HOUR(K2)>16,AND(HOUR(K2)=16,MINUTE(K2)>=15)=TRUE)=TRUE,"",CONCATENATE(HOUR(K2)-HOUR(J2)-IF(MINUTE(K2)-MINUTE(J2)>=30,0,IF(MINUTE(K2)-MINUTE(J2)<-30,2,1)),":",IF(MINUTE(K2)-MINUTE(J2)>=30,MINUTE(K2)-MINUTE(J2)-30,IF(MINUTE(K2)-MINUTE(J2)<-30,MINUTE(K2)-MINUTE(J2)+90,MINUTE(K2)-MINUTE(J2)+30)))))
4.H2格=IF(OR(K2="",K2="早退")=TRUE,"",IF(AND(HOUR(K2)=16,MINUTE(K2)>=15)=TRUE,CONCATENATE(HOUR(K2)-HOUR(J2)-IF(MINUTE(K2)>=30,0,1),":",IF(MINUTE(K2)>=30,MINUTE(K2)-30,MINUTE(K2)+30)),""))追问

K2有问题,K2应该满足15:55<F1<16:15取16:00,若F1=>16:15取"F1"即F1<=15:55取"早退",,导致G2,H2都有点小问题,请高手指点(请看图)

追答

这个是小问题吧,改为K2=IF(F2="","",IF(HOUR(F2)16,F2,IF(AND(HOUR(F2)=15,MINUTE(F2)=15)=TRUE,F2,"16:00")))))

本回答被提问者采纳
第2个回答  2013-01-09
没有技术难度,你自己解决吧
第3个回答  2013-01-10
很混乱,晕了
第4个回答  2013-01-10
单元格相减!F-E
相似回答