在单元格 N30 中我有以下公式:
=(SUMPRODUCT(A2:B2;$A$29:$B$29)/SUMPRODUCT(--(A2:B2<>"");$A$29:$B$29))
这是一个简化版本,希望它仍然有意义。如果单元格为A2:B2
空,它会返回,DIV/0
这不是问题,因为我在另一列和我想查看结果的列中都有结果=IF(ISERROR(N30);"";N30)
。
但是,我想用来自A2:B2
另一个工作簿的数据填充单元格,这些单元格要么有值(没问题),要么不为空但包含“”
。
我现在遇到的问题是,我的SUMPRODUCT
公式没有将其“”
视为空单元格,而是其他东西,并返回 VALUE 错误,并且直到所有引用都包含实际数字时才会产生结果。
我的问题是:有没有办法让它SUMPRODUCT
看起来“”
像一个真正空的单元格,或者您可以建议一些其他的解决方法?
我希望我的问题足够简单易懂。这是一个相当复杂的情况,涉及 2 个不同的工作簿,其中包含大量数据,因此我不得不对其进行大量简化。希望它仍然有意义。
短暂性脑缺血。
答案1
不幸的是,在 Excel 中,任何公式的结果都无法被其他公式视为空白单元格。它最多只能被视为数字 0 或空文本。
如果我们要进行计算,最好使用数字0
。在 Excel 中充当数字过滤器的函数是函数N
。如果其参数是文本,则返回0
,如果是逻辑值,则返回1
或0
。数字保持不变。不幸的是,它并不能免于错误。
将此函数与单元格区域一起使用时会出现问题。如果 的参数N
是跨越超过 1 个单元格的范围,则它仅返回该范围的第一个单元格的结果。解决方法是在范围前面加上符号+
或使用其他操作将范围转换为数组。在此示例中,应使用
符号。N(+A2:B2)