Excel 公式中组合比较运算符的使用

Excel 公式中组合比较运算符的使用

Excel 如何评估组合比较运算符以返回 true 或 false,如下图所示?例如,公式=IF(4<5>6,"true","false")计算结果为真的=IF(4<5<6,"true","false")计算为错误的

在此处输入图片描述

答案1

公式x<y<z是逐步求值的,就像 一样x+y+z

令人困惑的是,Excel 有一种奇怪的逻辑,即true或 甚至false 大于任何数值(这里面有什么道理吗?),而不是更常见的数值等于1或。但是,仍然等于。0=(4<5)+12

  • 4<5<6=> (4<5)<6=> true<6=>false
  • 4<5>6=> (4<5)>6=> true>6=>true
  • 4>5>6=> (4>5)>6=> false>6=>true

等等。

正如已经回答的那样,您需要AND()同时评估多个条件。

请注意,=IF(condition,"true","false")实际上是多余的。=condition产生相同的结果(除非您需要字符串类型)。

答案2

您可以将公式更改为:

=IF(AND(4<5,4<6,5<6),"TRUE","FALSE")
=IF(AND(4<5,4<6,5>6),"TRUE","FALSE")
=IF(AND(4>5,4<6,5<6),"TRUE","FALSE")
=IF(AND(4>5,4>6,5>6),"TRUE","FALSE")

在此处输入图片描述

答案3

通过“相乘”可以更有意义地使用 True 和 False。

在一般层面上(在编程中),可以使用例如:

n=(n<6)*(n+1) ... 将循环执行值 0 到 6 的重复操作,如下例所示。

因此,总结一下,带有条件的表达式确实会计算为
“1”,即真。用于乘法时,而“0”表示假。

那是:(condition)*1使用-> 1*True=> 1, False*1=> 0时为 true 1 和 0

...如果 A1 的值小于 5,(A1<5)*1则会给出结果。1


$ python
Python 3.8.10(默认,2022 年 3 月 15 日,12:22:08)
Linux 上的 [GCC 9.4.0]
输入“帮助”、“版权”、“信用”或“许可”以获取更多信息。
>>> n=0
>>> 对于范围内的 i(20):
...打印(i,n)
... n=(n<6)*(n+1)
...
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 0
8 1
9 2
10 3
11 4
12 5
13 6
14 0
15 1
16 2
17 3
18 4
19 5
>>>
>>> 退出()

$

相关内容