问题已解决
老师,请问如何用Excel统计工人打卡工作时间,分别早午晚三个时段,工厂一天若加班就打6次卡,不加班加4次卡,打卡有时出现忘记打卡即即只打了3次卡,请问如何分段计出多少少时?函数公式如何设,能否举列
温馨提示:如果以上题目与您遇到的情况不符,可直接提问,随时问随时答
速问速答你好,在Excel中统计工人打卡工作时间,特别是当涉及到不同的打卡时段(早、午、晚)和可能的加班打卡(6次或4次)以及偶尔的遗漏打卡(3次)时,需要采用一些灵活的策略来确保计算的准确性。
首先,我们需要明确打卡数据的结构。假设你有一个Excel表格,其中列A是员工的ID,列B到G是打卡时间(B为第一次打卡,C为第二次打卡,依此类推)。
以下是一个基本的分段计算方法和可能的函数公式示例:
1. 设定基本规则
如果一天内打卡次数少于3次,则可能数据不完整,需要人工检查或按0小时计算。
如果一天内打卡4次,则为正常班次(无加班),需要计算早、午、晚三个时段的工作时间。
如果一天内打卡6次,则为加班班次,需要额外计算加班时间。
2. 公式设定
2.1 计算正常班次的工作时间
早班时间:=IF(COUNT(B2:G2)>=4, MAX(IF(B2<>"", B2, 0), IF(C2<>"", C2, 0))-MIN(IF(B2<>"", B2, C2+1), IF(C2<>"", C2, B2+1)), 0)(这是一个数组公式,输入完成后需要按Ctrl+Shift+Enter,在Excel 365或更新版本中直接按Enter即可)
午班时间 和 晚班时间 类似,只是需要调整对应的单元格引用。
2.2 计算加班时间(如果有的话)
加班时间:=IF(COUNT(B2:G2)=6, MAX(IF(E2<>"", E2, 0), IF(F2<>"", F2, 0))-MIN(IF(D2<>"", D2, E2+1), IF(E2<>"", E2, D2+1)), 0)(同样是一个数组公式)
3. 注意事项
上述公式假设打卡时间是按日期时间格式(如 "2023-05-11 08:00:00")输入的。
如果打卡时间不是连续的(例如,下午的打卡时间可能在第二天),你可能需要调整公式以考虑日期差异。
数组公式在输入时可能需要特殊处理(在旧版Excel中按Ctrl+Shift+Enter)。
如果某个时段没有打卡记录(例如,员工某天只工作了晚班),则相应时段的时间计算可能会返回负数或零,这需要根据实际情况进行调整。
4. 示例
假设员工ID为1的打卡记录如下:
ID B(第一次) C(第二次) D(第三次) E(第四次) F(第五次) G(第六次)
1 2023-05-11 08:00 2023-05-11 12:00 2023-05-11 13:30 2023-05-11 18:00 2023-05-11 20:30
则可以使用上述公式分别计算早、午、晚三个时段和加班时间。
请注意,这些公式和示例可能需要根据你的具体需求和数据结构进行调整。
05/11 12:33
84784960
05/11 13:12
谢谢老师,我看得不太明白,工厂打早午晚打卡数据取是打竖反应的,打竖应如何设置
小小霞老师
05/11 13:39
打竖的意思是按列吗?要不然你截图给我看下