如果同一行的两个单元格都大于零,则需要求和

如果同一行的两个单元格都大于零,则需要求和

我正在尝试创建一份报告,仅当该行上的两个单元格都大于零时,该报告才会计算两列(B4 和 C4)的总和。我还想在一个或两个单元格中有零时添加文本“多通道”。

这是我创建的公式,但它不能正常工作:

=IF(B4>0+C4>0,B4+C4,"One Channel")

在此处输入图片描述

答案1

在进行数学运算时,Excel 会将TRUE其视为 1 和FALSE0。如果 B4 或 C4 大于 0,则条件的结果将大于 0。按照其编写方式,您有一个 OR 条件,而不是 AND 条件。从技术上讲,由于其他原因,编写的内容无法正确评估:您必须用括号分隔比较。您的评估结果如下:

=IF(B3>0+C3>0,B3+C3,"One Channel")
=IF(0>0+11>0,B3+C3,"One Channel")
=IF(0>11>0,B3+C3,"One Channel")
=IF(FALSE>0,B3+C3,"One Channel")
=IF(TRUE,B3+C3,"One Channel")

看看它如何处理0+C3第一个?我认为你的意思是这样的:

=IF((B4>0)+(C4>0),B4+C4,"One Channel")

但是,这仍然不太正确。在屏幕截图的第三行中,计算结果如下:

=IF((B3>0)+(C3>0),B3+C3,"One Channel")
=IF((0>0)+(11>0),B3+C3,"One Channel")
=IF(FALSE+TRUE,B3+C3,"One Channel")
=IF(0+1,B3+C3,"One Channel")
=IF(1,B3+C3,"One Channel")

您有几个选择。一个简单的更改是:

=IF((B4>0)*(C4>0),B4+C4,"One Channel")

用乘法代替加法使其成为 AND 条件而不是 OR 条件。不过,根据您的需求和舒适程度,还有几种替代方案。

=IF(AND(B4>0,C4>0),B4+C4,"One Channel")
=IF(B4*C4>0,B4+C4,"One Channel")
=IF(PRODUCT(B4:C4)>0,SUM(B4:C4),"One Channel")
=IF(COUNTIF(B4:C4,0)=0,SUM(B4:C4),"One Channel")

最后两个适合于检查大范围内的零,但对于仅有 2 个单元格来说,它们可能有些过度。

相关内容