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

使用ARRAYFORMULA与IF函数时,含空单元格的求和异常问题

公式的核心疏漏
  • 完全未关联A/B/C列的判断逻辑:你的公式仅检查I60和J60是否为空,完全没把A/B/C列的取值情况纳入判断条件。所以当只有A/B/C列有值时,只要I60或J60为空,公式就会直接返回空值,自然无法得到结果。
  • 计算逻辑与时间跟踪需求脱节:从你描述的表格布局来看,A/B/C对应常规班次时长、G/H/I对应班后额外时长,但公式中计算的是J60+D60,既没用到A/B的开始结束时间计算常规时长,也没关联G/H/I的额外时长计算,等于公式的计算对象和你实际要统计的内容完全不匹配。
  • 空值判断逻辑不符合需求:ISBLANK(I60)+ISBLANK(J60)的逻辑是「只要I60或J60为空,就返回空」,但你需要的应该是分场景判断:要么用A/B/C计算常规时长,要么用G/H/I计算额外时长,而非现在这种仅依赖两个无关单元格的单一条件。
修正示例(匹配你的时间跟踪逻辑)

如果要实现「有常规班次时间(A/B有值)则计算常规时长,有额外时长(G/H有值)则计算额外时长,两者都有则相加」的效果,可以使用类似下面的公式(可根据实际单元格对应关系调整):

=ARRAYFORMULA(
  IF(
    (NOT(ISBLANK(A:A)) * NOT(ISBLANK(B:B))) + (NOT(ISBLANK(G:G)) * NOT(ISBLANK(H:H))),
    IFERROR(
      IF(NOT(ISBLANK(A:A)) * NOT(ISBLANK(B:B)), B:B - A:A, 0) + 
      IF(NOT(ISBLANK(G:G)) * NOT(ISBLANK(H:H)), H:H - G:G, 0),
      ""
    ),
    ""
  )
)

注:这里假设常规时长为结束时间减开始时间(B-A),额外时长为H-G,总时长是两者之和,你可根据实际规则修改单元格引用和计算方式。

内容的提问来源于stack exchange,提问作者Moses o

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 22:07:45