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

Google Sheet使用ARRAYFORMULA计算工时求和结果错误如何修复

问题根因

你当前的计算错误核心是ARRAYFORMULA逐行重复计算:
每个日期对应两行数据,但原公式会对区间内每一行(包括第二行隐藏行)都执行「当前行E列+下一行E列」的计算,相当于每个日期的工时统计被生成了两次,分别存在日期的第一行和第二行。
你选中未隐藏的第一行数据悬停时,求和结果是正确的,但SUM函数默认会统计隐藏行的数值,累加了两行重复的计算结果,最终数值就会远大于预期。

修复方案

第一步:修正正常工时ARRAYFORMULA(G列)

仅在每个日期的第一行生成计算结果,第二行返回0,公式如下:

=arrayformula(IF(
  MOD(ROW(A3:A70)-ROW(A3),2)<>0,0,
  IFS(
    WEEKDAY(A3:A70,1)=1,0,
    WEEKDAY(A3:A70,1)=7,0,
    E3:E70+E4:E70>8,8,
    E3:E70+E4:E70<=8, E3:E70+E4:E70
  )
))

第二步:修正加班工时ARRAYFORMULA(H列)

同样仅在每个日期的第一行生成计算结果,第二行返回0,公式如下:

=arrayformula(IF(
  MOD(ROW(A3:A70)-ROW(A3),2)<>0,0,
  IFS(
    WEEKDAY(A3:A70,1)=1,E3:E70+E4:E70,
    WEEKDAY(A3:A70,1)=7,E3:E70+E4:E70,
    E3:E70+E4:E70>8,E3:E70+E4:E70-8,
    E3:E70+E4:E70<=8, 0
  )
))

第三步:保留原有求和公式即可

原有的=SUM(IFERROR(G3:G71,0))和=SUM(IFERROR(H3:H71,0))不需要修改,因为第二行已经返回0,求和结果会自动匹配实际值。

补充说明

如果后续日期范围扩展,只需要把公式中A3:A70、E3:E70的区间上限调整为对应行号即可,逻辑不需要变动。

内容的提问来源于stack exchange,提问作者Paweł

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 09:36:06