Excel计算工时遇文本休假标识出现#VALUE!错误的修正方法
考勤表工时计算#VALUE!错误简便修正方法
问题场景
- 月度考勤表包含上班时间、下班时间、休息时长、休假信息4类字段,需统计每周实际工作时长
- 原有正常工时计算公式为
=(finish-start-break)*24,逻辑为「下班时间减上班时间再扣减休息时长,乘24转成小时单位」,正常出勤场景计算准确:例如上班8:30、下班12:00、休息0:30时,可正确返回3小时的结果 - 存在的问题:当日休假时,三个时间字段均填写文本
Off,原公式会返回#VALUE!报错,无法参与后续周度工时汇总
最简修正方案
直接在原有公式外层嵌套错误处理函数即可,不需要调整原有表格的填写规则:
- 适用于Excel 2007及以上版本、所有版本WPS表格的写法:
=IFERROR((finish-start-break)*24,0)
逻辑说明:公式优先执行原有工时计算,能算出有效数值时直接返回工时结果;如果遇到报错(即休假填
Off的场景),直接返回0,后续按周求和时会自动把休假日的工时计为0,不影响统计结果。
- 兼容低版本Excel(2003及更早)的写法:
=IF(ISTEXT(finish),0,(finish-start-break)*24)
逻辑说明:先判断下班时间字段是否为文本内容(即填写了
Off的休假场景),是就直接返回0,否则按原有规则计算工时,计算效果和上面的写法完全一致。
内容的提问来源于stack exchange,提问作者Grazi
相关产品推荐
相关产品推荐

