Excel 有类似三向开关的东西吗?

Excel 有类似三向开关的东西吗?

简而言之,如果想做一个 IF 开关

a) 如果 A < 0.5 ... B = 10。b
) 如果 A >= 0.5 ... B = 15。c
) 如果 A > 1.0 ... B = 20。

那该怎么办呢?

答案1

这将作为 SWITCH 功能发挥作用:-

=CHOOSE(IF(A1<0.5,1,IF(AND(A1>=0.5,A1<=1),2,3)),10,15,20)

但这在内部执行的是嵌套 IF。

使用三路开关的最佳方法如下:-

=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,20))

答案2

您可以像这样嵌套“if”表达式:

=IF(A1<0.5,10,IF(AND(A1>=0.5,A1<=1),15,IF(A1>1,20,"Something else")))

(否则我添加 A1<=1 因为 A>1.0 意味着 A 也 >= 0.5)

答案3

如果这是做到这一点最简单的方法。

一种更灵活的计算方法是利用 Excel 对 True=1 的使用。假设值在 A1 中:

=((A1<0.5)*10)+((A1>=0.5)*15)+((A1>1)*20)

这将允许您添加任意数量的条件,并使您摆脱嵌套的 IF。

这是可行的,因为在每个分组中,评估都是一个返回 True 或 False 的逻辑函数,即,如果小于,(A1<0.5)则返回。当算术函数中使用 True 时,Excel 使用值 1。TrueA10.5

我上面给出的例子并不完全正确,有些数字对于两个不同的组会生成 True。中间组需要一个AND()函数来限制,例如:

AND(A1>=0.5,A1<=1)

答案4

最短的解决方案应该是:

=IF(A1<0.5,10,IF(A1<=1,15,20))

由于第一部分,第二部分中的 AND 是不必要的。

相关内容