我尝试使用 IF 函数,如果为 TRUE 则返回“1”,如果为 FALSE 则返回“0”。
我需要单元格 A1 或 B1 AND C1 > 0 才能使语句为 TRUE(返回1
),否则为 FALSE(返回0
)。
我无法正确编写该函数。
答案1
一种方法是在 IF 语句中复合使用 and() 和 or()。
=IF(AND(OR(A1>0,B1>0),C1>0),1,0)
condition
首先评估 or(),然后对其结果进行 and(),其结果作为 if() 语句子句的基础。
答案2
我这里只根据你对“or”和“AND”的大写字母进行分析,假设你的意思是:
(A1 > 0 或 B1 > 0)且 C1 > 0
=IF(AND(OR(A1>0,B1>0),C1>0),1,0)
答案3
你的问题
您的问题是一个特殊情况,因为您想要的输出是1
或0
。您实际上不需要 IF 语句来执行此操作;Excel 将真值和假值视为1
和0
。您甚至不需要 AND 或 OR 。它被称为布尔逻辑。
我将从 Tyson 和 panhandel 发布的解决方案开始(请注意 EBGreen 和 TECHIE007 关于运算顺序的评论,如果您的意图不同,请调整公式)。
如果删除 IF 函数,则会得到:
=AND(OR(A1>0,B1>0),C1>0)
如果您在计算中使用它,它将被视为1
真或0
假。在这种形式下,它将在单元格中显示为 TRUE 或 FALSE。如果您想让它显示为1
或0
,只需在不改变其值的计算中使用它即可:
=AND(OR(A1>0,B1>0),C1>0)+0
只是为了兴趣
那么如何消除 AND 和 OR 呢?每个组件的比较都是真或假,因此您可以利用使用零和一的基本数学。如果两个事物必须为真(AND 的情况),请使用:
1 * 1 = 1 (both true)
1 * 0 = 0 (one true, one false)
0 * 0 = 0 (both false)
除两个之外的任何组合都将得出 0。
OR 的情况可以反过来表达。
A=true OR B=true
是相同的
NOT( A=false AND B=false )
因此,您可以将 OR 表示为 AND。您可以使用 创建 NOT 1 - result
。
因此,你的表达可以采用以下形式:
=(1-(A1<=0)*(B1<=0))*(C1>0)
没有“如果”、“与”或“或”。