ここではExcelのIFとIFS関数の使用方法を説明し、次には例の数式を挙げます。
ExcelのIFとIFS関数は各種の条件が検索でき、異なる条件で異なる結果を出します。この2つの関数もよく使われるExcelの関数です。次はIFとIFS関数の使用方法と例です。
目次
IF関数
ExcelのIF関数は基本的な条件判断や処理の関数であり、その使用法は次のとおりです。
= IF(論理式、「真の場合」、「偽の場合」)
例えば、IF関数を利用し、試験に合格するかどうかを判定します。(60点以上は合格と見なされ、逆には不合格になります)、数式は次のように入力してください。
=IF(A2>=60,"合格","不合格")
IF関数のネスト
複数の検索条件や結果など、判定条件が複雑な場合は、ネスト状のIF関数が利用できます。
点数によって等級を区別する場合は、書き方は次のとおりです。
等級 | 点数區間 |
優等 | 点数 >= 90 |
甲等 | 80 <= 点数 < 90 |
乙等 | 70 <= 点数 < 80 |
丙等 | 点数 < 70 |
このような複数の判定条件がある場合は、複数のIF関数を組み合わせることができます。
=IF(A2>=90,"優等",IF(A2>=80,"甲等",IF(A2>=70,"乙等","丙等")))
このネスト状のIF数式は複雑と見えますが、原理はIF関数と同じです。外部のIF条件式から判定します。最初のIFは点数が90点に達するかどうかを判定します。90点に達する場合は、「優等」に戻り、90点がに達していない場合は、第二層のIF条件式から判定します。
第二層のIF条件式から判定する場合に、点数は必ず90点以下です。(90点に達した場合は直接「優等」に判定され、第二層に入らないです。)ここでは点数が80点に達するかどうかを判定し、達した場合は「甲等」を判定し、達していない場合はまた次のIF条件式に入ります。
第三層のIF条件式に入る場合は、点数が80点以下です。ここまでは「乙等」と「丙等」が残りました。点数が70点以上なら「乙等」に判定し、逆には「丙等」を判定します。
IF関数のネストを作成する時に、各IF条件式の入力順序に注意してください。上記の例から見ると、点数は降順に等級を判定しますが、昇順でも大丈夫です。これより片側の条件式を判定すれば結果が出し、書き方も簡単です。
点数を順次に書いていないなら、 AND関数が必要です。AND関数は両側の条件式を同時に検索します。数式が複雑になるため、IF関数のネストを作成する場合は順次に書くのほうがいいです。
AND 関数
AND関数は2つの引数を同時にTrueかどうかを判断できます。両方もTrueの場合は、「True」を返し、他の場合は「False」を返します。
= AND(条件1、条件2)
例えば、今判定用の点数は2件があり、2件も60点以上が合格と判定し、逆には不合格です。この場合は IF関数とAND関数で判定できます。
=IF(AND(A2>=60,B2>=60),"合格", "不合格")
OR 関数
OR関数は2つの引数がTrueかどうかを判断できます。この中に1つの引数が成立(または両方もTrue)である限り、「True」を返し、それ以外の場合は「False」を返します。
= OR(条件1、条件2)
今回、二科目の中でただ1つの科目が60点に達することと合格です。数式の書き方は次のように表示します。
=IF(OR(A2>=60,B2>=60),"合格", "不合格")
NOT 関数
NOTは条件の結果を反転して返します。TRUE からFALSE に、FALSE から TRUE に変える関数です。簡単な例を次に示します。
等級が優等ではない場合は再試験の必要があります。数式の書き方は次のように表示します。
=IF(NOT(B2="優等"),"必要","不要")
この例ではIF数式を書き換えることもできます。NOT関数は必要ありません。
=IF(B2="優等","不要","必要")
ほとんどの場合はNOT関数を省略するため、判断ロジックを適当に書き換えることができますが、引数によって異なるため、数式は簡単でわかりやすいほうがいいです。
IFS 関数
IFS関数はIF関数と似ていますが、様々な要素を順番にスキャンして、検索条件を満たす要素を返すことができます。IFS関数は複数のネスト状のIF関数を代われます。この簡潔なIFS関数はOffice 2016以降サポートされています。
この数式の書き方は次のように表示します。
=IFS(論理式1,値が真の場合1,[論理式2,値が真の場合2],…)
上記した等級の例はIFS関数を利用する場合に、数式の書き方は次のように表示します。
=IFS(A2>=90,"優等",A2>=80,"甲等",A2>=70,"乙等",TRUE,"丙等")
このIFS関数では、様々な検索条件と返す値を順次に入力し、対応する条件の返す値を返します。すべての検索条件が対応していない場合は#N/Aエラーを返します。
すべての検索条件が対応していない時、指定した返す値を返したい場合は、最後の理論式の判定条件をTrueに設定し、これよりすべての検索条件が対応ししていなくても返す値を返します。else(複数の条件分岐)と同じ効果です。
コメントを残す