#值!如果带有“”的公式在单元格中,则sumproduct出错

时间:2016-06-22 11:18:01

标签: excel

我有以下Excel表格:

          A                 B                    C                    D
1                     Purchase Price        Sales Price      Purchase Price > Sales Price
2     Product A            50                    40        =SUMPRODUCT(--(B2:B6>C2:C6-10))
3     Product B            60                    65
4     Product C            80                    60
5     Product D            10                    20
6     Product E            50                    30
7     

使用单元格D2中的公式,我检测购买价格>的产品数量。销售价格 - 10

不,我想在单元格B7和C7中添加以下公式:

B7 =If(A7="";"";60)
C7 =If(A7="";"";50)

并将公式在单元格D2中用于:

D2 =SUMPRODUCT(--(B2:B7>C2:C7-10))

一旦我这样做,单元格D2中的公式给了我一个#VALUE!错误。 你们有什么想法我可以解决这个问题并避免#VALUE!错误?

感谢您的帮助。

4 个答案:

答案 0 :(得分:0)

SUMPRODUCT必须有价值。将B7和C7更改为:

B7 =If(A7="";0;60)
C7 =If(A7="";0;50)

您可以使用条件格式“仅格式化包含单元格值等于0的单元格”以使单元格显示为空。

答案 1 :(得分:0)

错误的原因是单元格B7,C7不包含数值。

因此,在产品名称为空白的B7和C7中使用零而不是空白单元格(如下所示)将停止发生该错误。这种变化是否可以接受?是否依赖于那些空白而不是0?

B7 =IF(A7="";0;60)
C7 =IF(A7="";0;50)

答案 2 :(得分:0)

[编辑因为之前的解决方案不正确。]

这有点难看,可能有更好的解决方案,但希望它会给你一个开始的方向:

=SUMPRODUCT(--(IF(ISTEXT(B2:B7),B2:B7+0,B2:B7)>IF(ISTEXT(C2:C7),C2:C7-10,C2:C7-10)))-SUMPRODUCT(--(ISTEXT(C2:C7)*1))

这使用2次SUVERRODUCT。

第一个用于避免#VALUE!错误,但它每次都将空白单元格计为满足条件,因此返回的值太高。

对SUMPRODUCT的第二次调用通过减去带空格的行数来纠正这个问题。

我无法想出一个更简单的解决方案,但我仍然相信必须有一个解决方案。

答案 3 :(得分:0)

将此=COUNT(IF(B2:B7>C2:C7-10,B2:B7))公式写入D2并按 CTRL + SHIFT + ENTER

注意:按CTRL + SHIFT + ENTER将执行类似数组的公式。如果你在公式栏中观察D2,你会看到{=COUNT(IF(B2:B7>C2:C7-10,B2:B7))}看看数组是如何工作的,它们为Excell中的简单公式增加了优势