条件判断の使い方

単純条件や複合条件の書き方を紹介します。
単純な判断
IF関数を使う。

IF関数サンプル
(画像をクリックすると、このページのサンプルがダウンロードできます)
この簡単なサンプルは、B2セルに「1」又は「0」を入力すると、D2セルに「はい」又は「いいえ」が表示されるというものです。IF関数は、以下の構成で記述します。
IF( [判断記述], [肯定時の処理], [否定時の処理] )
この例では、判断記述は「B2セルが1か」、肯定時処理は「はいを表示」、否定時処理は「いいえを表示となります。
複雑な判断を行なう必要がある場合は、この肯定時処理や否定時処理の中でさらにIF関数を使ったり、判断記述中に次に説明する「OR関数」「AND関数」を組み合わせたりします。
R1C1参照形式の場合は

 =IF(R2C2=1,"はい","いいえ")
となります。

IF関数の中で、さらにIF関数を使う例を次のサンプルに挙げておきます。

IF関数サンプル②

B2セルが「1」なら「はい」、「0」なら「いいえ」を表示、これが要件であれば「1」「0」以外だったらどうなるのでしょうか?
最初のサンプルでは、「1」「0」以外でも「いいえ」が表示されてしまいます。何故なら判断記述で「B2セルが1か」しか判断していないからです。
そこでこの2番目のサンプルでは、「B2セルが1か」の否定時処理の中でさらに「B2セルが0か」を判断し、「1」「0」以外だったら「???」を表示させています。
R1C1参照形式の場合は

 =IF(R2C2=1,"はい",IF(R2C2=0,"いいえ","???"))
となります。



※多分岐になる判断を行なう場合は、下で説明する「IFS関数」や「SWITCH関数」の方が見やすく、結果として間違いが少ないと思います。

OR条件」判断
OR関数を使う。OR関数は、カッコ内に複数の判断記述をカンマで繋いで記述します。いずれか1つでも「真」であれば肯定時処理が行なわれます。

OR関数サンプル

※このサンプルでは、「値1」と「値2」のいずれかが「1」だったら「判定」が「はい」になります。OR関数の右のカッコ内の条件記述は最大で30個まで連記でき、どれかが「真」なら外側のIF関数は肯定時処理が動作します。
R1C1参照形式の場合は

 =IF(OR(R2C2=1,R4C2=1),"はい","いいえ")
となります。

AND条件」判断
AND関数を使う。AND関数は、カッコ内に複数の判断記述をカンマで繋いで記述します。判断記述の全てが「真」であれば肯定時処理が行なわれます。

AND関数サンプル

※このサンプルでは、「値1」と「値2」の両方が「1」だったら「判定」が「はい」になります。AND関数の右のカッコ内の条件記述は最大で30個まで連記でき、その全てが「真」なら外側のIF関数は肯定時処理が動作します。
R1C1参照形式の場合は

 =IF(AND(R2C2=1,R4C2=1),"はい","いいえ")
となります。

「評価ランク」判断
「評価ランク」という言葉が適切かは判りませんが、例えばテストの点数範囲から何段階かの評価名称を付けて変換することは多いと思います。ここでの説明は「絶対評価」です。
ここでのサンプルの点数範囲と評価名称は以下としてみます。(100点満点、整数のみ)
点数範囲評価名称
 90点以上  優
 75~89  良
 50~74  可
 50点未満  不可

IF関数を使う。

IF関数サンプル③

上から2番目のサンプルのIF関数の使い方で、否定時処理をさらに継ぎ足していく方法でこのように実現できます。
R1C1参照形式の場合は

 =IF(R2C2>=90,"優",IF(R2C2>=75,"良",IF(R2C2>=50,"可","不可")))
となります。

肯定時処理、否定時処理の中にさらにIF関数を使って多階層的な判断を行なうことができるのは最初のサンプルの所でも説明しているのですが、 ここでのサンプルは1つの値に対して何段階かの評価を行なうための分岐判断なので、多分岐関数があればそれでも対応できるものです。 そこで次はIFS関数を利用するサンプルです。

IFS関数を使う。

IFS関数サンプル

IFS関数はExcel2019(Excel2016 ProPlus)で追加された関数です。
サンプルの計算式の長さでは上のIF関数を複合させたものと変わりませんが、括弧の多重化が不要になるのでこのようなケースではシンプルな構造になります。 IFS関数は以下の構成で記述します。
IFS( [判断記述①], [肯定時処理①], [判断記述②], [肯定時処理②], [判断記述③], [肯定時処理③].... )
判断記述は左から順に評価され、判断に該当した場合は対応する肯定時処理が行なわれます。組み合わせの上限は127件又は計算式の総長が8192文字となります。
どの判断記述にも該当しなければ何も処理せずに抜けますが、サンプルのように判断記述に「TRUE」があれば全てが該当と判断されます。 つまり「それ以外全て」となるわけです。
R1C1参照形式の場合は

 =IFS(R2C2>=90,"優",R2C2>=75,"良",R2C2>=50,"可",TRUE,"不可")
となります。

逆に「評価ランク」が先に来て、一旦数値化(得点)して対応させて集計するようなこともあると思います。
評価ランク得点
100
80
60
40
20
上記以外 0
このような条件で算出させてみましょう。
IF関数を複合させる方法は既に説明しているものの単なる応用なので、 ここではSWITCH関数を説明します。

SWITCH関数を使う。

SWITCH関数サンプル

SWITCH関数はExcel2019(Excel2016 ProPlus)で追加された関数です。
SWITCH関数は以下の構成で記述します。
SWITCH( [検査値], [値①], [結果①], [値②], [結果②], [値③], [結果③]....,[既定の結果] )
「値」はこのサンプルでは「評価ランク」、「結果」は「得点」となります。 判断記述は左から順に評価され、値に該当した場合は対応する結果が返されます。どの値にも該当しない場合は最後の「既定の結果」が返されます。 「既定の結果」は必須ではなく、「既定の結果」の有無は括弧内要素の個数の偶数・奇数で判断されます。 値・結果の組み合わせの上限は126件又は計算式の総長が8192文字となります。
R1C1参照形式の場合は

 =SWITCH(R2C2,"A",100,"B",80,"C",60,"D",40,"E",20,0)
となります。