具有多个条件的 IF 函数

具有多个条件的 IF 函数

我尝试使用 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

你的问题

您的问题是一个特殊情况,因为您想要的输出是10。您实际上不需要 IF 语句来执行此操作;Excel 将真值和假值视为10。您甚至不需要 AND 或 OR 。它被称为布尔逻辑。

我将从 Tyson 和 panhandel 发布的解决方案开始(请注意 EBGreen 和 TECHIE007 关于运算顺序的评论,如果您的意图不同,请调整公式)。

如果删除 IF 函数,则会得到:

=AND(OR(A1>0,B1>0),C1>0)

如果您在计算中使用它,它将被视为1真或0假。在这种形式下,它将在单元格中显示为 TRUE 或 FALSE。如果您想让它显示为10,只需在不改变其值的计算中使用它即可:

=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)

没有“如果”、“与”或“或”。

相关内容