You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多时段考勤表公式报错求助:返回TRUE而非总工时

多时段考勤工时统计公式修复

原公式的核心问题

  1. 语法错误:AND(B3="",M3<>",N3<>",O3<>") 中的字符串引号未闭合(M3<>"缺少闭合的""),导致公式解析失败,返回布尔值TRUE
  2. 列逻辑矛盾:你标注的“上班时间在C、E、H,下班在C、F、I”存在冲突,结合公式里的C3>B3判断,实际应为上班列:B、E、H,下班列:C、F、I
  3. 计算逻辑漏洞:部分时段的工时未做24小时转换,嵌套条件覆盖不全,导致计算结果异常

修复后的可用公式

假设工时统计单元格为P3,直接使用:

=IF(OR(M3<>"",N3<>"",O3<>""),0,
    ROUND(
        (IF(AND(B3<>"",C3>B3),(C3-B3)*24,0))+
        (IF(AND(E3<>"",F3>E3),(F3-E3)*24,0))+
        (IF(AND(H3<>"",I3>H3),(I3-H3)*24,0)),
    2)
)

公式解释

  • 优先级判断:只要M(病假)、N(节假日)、O(休假)任一单元格非空,直接返回0工时
  • 分段独立计算:每段出勤仅在“上班时间非空且下班晚于上班”时计算,自动转换为小时数
  • 精度控制:用ROUND保留2位小数,避免时间计算的浮点误差
  • 扩展性:如果需要更多出勤时段,直接复制(IF(AND(...),...),0)块并替换对应列标即可

额外提示

  • 把工时统计单元格的格式设置为「数值」或「常规」,避免显示为时间格式
  • 如果实际上下班列和假设的B/C、E/F、H/I不符,直接替换公式里的列标就行

内容的提问来源于stack exchange,提问作者Tyler Ballou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 21:13:12