Excel には 3 方向スイッチのようなものがありますか?

Excel には 3 方向スイッチのようなものがありますか?

つまり、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 を実行しています。

3 ウェイ スイッチを使用する最適な方法は次のとおりです。

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

(A>1.0 は A >= 0.5 を意味するため、それ以外の場合は A1<=1 を追加しました)

答え3

これがこれを行う最も簡単な方法です。

より柔軟な計算方法は、Excel の True=1 の使用を活用することです。値が A1 にあると仮定します。

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

これにより、任意の数の条件を追加できるようになり、ネストされた IF から抜け出すことができます。

これが機能するのは、各グループ化において評価が True または False を返すロジック関数であるためです。つまり、 がより小さい場合は を(A1<0.5)返します。Excel では、算術関数で True が使用される場合、値 1 が使用されます。TrueA10.5

AND()私が示した上記の例は正確ではありません。一部の数値は 2 つの異なるグループに対して True を生成します。中間のグループには、次のような制限関数が必要です。

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

答え4

最短の解決策は次のようになります。

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

最初の部分により、2 番目の部分の AND は不要です。

関連情報