答案1
在进行数学运算时,Excel 会将TRUE
其视为 1 和FALSE
0。如果 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 个单元格来说,它们可能有些过度。