数値の条件によって計算式を変えたい場合のIFS関数(IF関数)です。
エクセルで複数条件ならIF関数よりもIFSの方がわかりやすい
エクセルで複数の条件を評価する場合、IF関数を真っ先に思いつくかと思います。しかし、条件が多くなると式が複雑になりがちです。 そこで、関数IFS関数を使うと、より...
目次
やりたいこと・条件と結果
説明をわかりやすくするため簡単な条件にしました。
実際の数値は百万円単位で、結果にあたる部分の計算式は複雑でした。
IFS関数
条件は数値の大きい順に指定します。
セルB2に関数を入力します。
=IFS(A2>=301,4,A2>=201,3,A2>=101,2,A2<=100,1)
セルA2に数値を入力した結果です。
条件を数値の小さい順に指定すると、201以上の数値の場合でも結果が「2」になります。
複数条件のIF関数
上記のIFS関数と同様の式をIF関数で使う場合の式は省略します。
関数の基本
IF関数の基本
=IF(論理式、真の場合、偽の場合)
AND関数の基本
=AND(論理式1,論理式2・・・)
IF関数とAND関数を使った式
IF関数とAND関数を組み合わせた式です。
=IF(A2>=301,4,IF(AND(A2>=201,A2<=300),3,IF(AND(A2>=101,A2<=200),2,IF(A2<=100,1))))
この方法の場合は、数値の範囲を指定しているので条件を数値の小さい順にしても同じ結果になります。
この方法だと、結果にあたる計算式が複雑な場合、関数が非常に長くなり複雑でみにくいです。
VBAで結果を出す
Select Case ステートメントの例です。
Dim MyNum As Long Dim Kekka As Long MyNum = InputBox("数値を入力してください") Select Case MyNum Case Is <= 100 Kekka = 1 Case 101 To 200 Kekka = 2 Case 201 To 300 Kekka = 3 Case Is >= 301 Kekka = 4 End Select MsgBox Kekka
インプットボックスに数値を入力し、メッセージボックスで結果を返します。
VBAのコードの方がわかりやすいです。