【问题标题】:Excel SUMPRODUCT - how to deal with a #VALUE! error if array contains a textExcel SUMPRODUCT - 如何处理#VALUE!如果数组包含文本则出错
【发布时间】:2020-03-11 14:15:56
【问题描述】:

我使用的是 SUMPRODUCT 函数公式(这里是简化版):

=SUMPRODUCT(--(A3:A11="aaa"),B3:B11,C3:C11*0.8)

我想将 column3 中的值乘以一个数字(例如 0.8),但是一旦列中有文本值,我就会得到 #VALUE!错误。我尝试将 column3 的数组包装在 IFERROR 和其他类似函数中,但似乎没有任何效果......知道如何处理这个问题吗?

(注意:将表格中的文本替换为 0 对我来说不是解决方案,因为我想将文本保留在那里)

【问题讨论】:

  • C3:C11*0.8 更改为 Isnumber(C3:C11)*0.8 将起作用
  • 好吧,这不起作用,因为 ISNUMBER 函数返回 True 或 False(1 或 0)。当与 0,​​8 相乘时,它给了我一个 0,8 而不是 80 的数组。
  • 嗨@MrZH6,因为我用1而不是100测试,我真的很困惑。谢谢指出

标签: arrays excel excel-formula array-formulas sumproduct


【解决方案1】:

您需要切换到数组版本并添加 IFERROR:

=SUMPRODUCT(--(A3:A11="aaa"),B3:B11,IFERROR(C3:C11*0.8,0))

然后根据一个人的版本,退出编辑模式时可能需要使用 Ctrl-Shift-Enter 而不是 Enter 进行确认。

【讨论】:

  • 是的,Control+Shift+Enter 和 IFERROR 函数的组合给出了想要的结果。非常感谢!
  • 我现在只是在想:我会大量复制这个公式。我必须知道什么吗?使用这些 CSE 公式时我有点谨慎......
  • 如果复制单元格或拖动单元格,则只需对第一个单元格进行CSE。如果将公式放在公式栏中或编辑公式,则需要使用 CSE
猜你喜欢
  • 2017-09-26
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 2018-10-05
  • 1970-01-01
  • 2021-03-21
  • 1970-01-01
相关资源
最近更新 更多