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

Excel数组公式求和求助:需结合IFERROR忽略错误值

搞定带错误值的条件求和问题

我来帮你解决这个数组公式的报错问题!你的原始公式在遇到Cost列的错误值时失效,核心原因是错误值会直接传递到SUM函数里,导致整个公式返回错误。我们只需要把IFERROR嵌套到正确的位置,就能让公式始终正常工作。

旧版Excel(需要按Ctrl+Shift+Enter确认数组)

如果你用的是旧版Excel(比如2019及更早),需要使用数组公式,正确写法是:

=SUM(IF(Waste[Product]=$E$3,IFERROR(Waste[Cost],0),0))

⚠️ 输入完公式后一定要按Ctrl+Shift+Enter完成数组输入,Excel会自动给公式加上大括号{}(千万别手动加括号,会导致公式失效)。

为啥这么写?

  1. 先通过IFERROR(Waste[Cost],0)把Cost列里所有错误值(比如#N/A、#VALUE!)都替换成0,正常数值保持不变;
  2. 再用IF(Waste[Product]=$E$3, ... ,0)判断每行的产品名称是否匹配E3,匹配就用处理后的Cost值,不匹配就用0;
  3. 最后SUM把所有符合条件的数值加起来,此时已经没有错误值干扰,公式就能稳定返回结果了。

新版Excel(Excel 365/2021及以后,无需数组确认)

如果你的Excel支持动态数组功能,那写法可以更简洁,不用再按Ctrl+Shift+Enter:

方法1:用FILTER+IFERROR

=SUM(IFERROR(FILTER(Waste[Cost],Waste[Product]=$E$3),0))

FILTER会直接筛选出所有匹配E3的Cost值,IFERROR把筛选结果里的错误值转成0;如果没有匹配项,FILTER返回的错误也会被转成0,SUM结果就是0,完美兼容各种情况。

方法2:用SUMIFS+IFERROR

=SUMIFS(IFERROR(Waste[Cost],0),Waste[Product],$E$3)

把处理好错误值的Cost列作为求和区域,SUMIFS会自动匹配产品名称等于E3的行,直接完成求和,写法更贴近日常使用的函数逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:47:02