关于EXCEL考勤公式:如果上班时间是8:30,下班时间是16:30

关于EXCEL考勤公式:如果上班时间是8:30,下班时间是16:30,公式:=IF(D2=D1,IF(HOUR(J2)<{怎么表示},"下班早退",""),IF(D2=D3,IF(HOUR(J2)<{怎么表示},"","上班迟到"),"不完整考勤")),{}里的应该如何表示,谢谢

看你对函数的理解,应该是对if条件对应多层套用比点模糊,所以我给你分成简单一点的便于理解。

如果只有一个单元格来判定迟到,早退,迟到+早退三种现象的函数写起来比较长而且易错,所以我给它分成EFG三列展示给你看,希望对你有帮助。

追问

我们考勤机出来的上下班时间是在一列中的怎么处理,而且有的人可能会重复打卡,谢谢

追答

如有重复打卡只取第一个,上下班在同一列内函数一样设置,只是向下复制函数可能麻烦一些,依具体情况而定,有时甚至需要手动稍加工一下。
不管任何函数和代码都不能达到万能的效果,需要加上规章制度一起才可执行。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-13
HOUR结果和16.30不好对比,建议用TEXT(J2,"HH.MM")+0转换为一个小数,然后直接与16.30、8.30这样的小数对比。追问

麻烦你能把完整公式写一下吗,谢谢

追答

不知道你的D列算什么内容,我就只写判断部分吧:

=IF(TEXT(A2,"HH.MM")+0<16.3,"早退","正常下班")

追问

请教下,根据你的公式,为何同一人如果上班重复打卡就会显示早退,麻烦你帮我看下公式,谢谢

追答

你这个思路就不对,旷工也控制不了,判断重复打卡、漏打卡需要许多代码,逻辑复杂

我建议你用下面的模式:

MINIFS、MAXIFS获取那天第一次打卡、最后一次打卡时间,结果为0.00表示没有打卡,然后再进行IF判断就容易了。

追问

但是CDE这三列的数据都是直接从考勤机里导出来的,我只是想在这两的基础上,设置公式,快速识别出这些人哪天有过迟到,早退,或不完全考勤,这公式有吗,谢谢

追答

直接在这个数据上不可能知道一天都没来的,也很难判断重复打卡的,可以两次上班、一次下班,或者一次上班、两次下班,或者各打10多次。

第2个回答  2017-12-13
分别是
"16:30"

"8:30"追问

这个填进去,得出结论是VALUE,难道是公式错了??

追答

=IF(HOUR(J2)"8:30","上班迟到","不完整考勤"))

本回答被网友采纳