答案1
公式x<y<z
是逐步求值的,就像 一样x+y+z
。
令人困惑的是,Excel 有一种奇怪的逻辑,即true
或 甚至false
大于任何数值(这里面有什么道理吗?),而不是更常见的数值等于1
或。但是,仍然等于。0
=(4<5)+1
2
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
答案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 >>> >>> 退出() $