IF関数は「もし〇〇なら、△△。違えば××」
IF関数は、条件によって、表示する内容を切り替える関数です。「点数が80点以上なら『合格』、そうでなければ『不合格』」のような判定に使います。
書式
=IF(論理式, 真の場合, 偽の場合)
| 引数 | 意味 | 例 |
|---|---|---|
| 論理式 | 判定する条件 | B2>=80 |
| 真の場合 | 条件に合った時の結果 | "合格" |
| 偽の場合 | 条件に合わなかった時の結果 | "不合格" |
B2セルの点数が80点以上なら「合格」、そうでなければ「不合格」と表示するには、次のようにします。
=IF(B2>=80,"合格","不合格")
**文字を結果にする場合は、必ずダブルクォート(")で囲みます。**数値や、セル参照は、囲みません。
比較に使う記号(比較演算子)
| 記号 | 意味 | 例 |
|---|---|---|
| = | 等しい | B2=100 |
| <> | 等しくない | B2<>0 |
| > | より大きい | B2>80 |
| >= | 以上 | B2>=80 |
| < | より小さい | B2<80 |
| <= | 以下 | B2<=80 |
「以上」は「>=」、「以下」は「<=」と書きます。「=>」と逆にすると、エラーになるため注意してください。
複数の条件をまとめる:AND・OR
すべての条件を満たす:AND
=IF(AND(B2>=80,C2>=80),"合格","不合格")
B2とC2の両方が80点以上の場合だけ、「合格」になります。
どれか1つでも満たす:OR
=IF(OR(B2>=80,C2>=80),"合格","不合格")
B2かC2のどちらかが80点以上なら、「合格」になります。
段階的に判定する:IFS・入れ子
点数に応じて、「A・B・C」の評価を付けたい場合など、条件が3つ以上ある時に使います。
IFを重ねる(入れ子)
=IF(B2>=90,"A",IF(B2>=70,"B","C"))
90点以上なら「A」、70点以上なら「B」、それ以外は「C」です。条件が増えると、数式が長く、読みにくくなります。
IFS関数を使う
=IFS(B2>=90,"A",B2>=70,"B",TRUE,"C")
条件と結果を、順番に並べるだけなので、読みやすくなります。最後の「TRUE」は、「上のどれにも当てはまらない場合」を表します。IFS関数は、新しいバージョンのExcelで使える関数です。
よくあるミスと対処
- 文字列を、ダブルクォートで囲み忘れる:「#NAME?」エラーになります
- カッコの数が合わない:数式の入力中に、色の付いたカッコの対応を確認する
- 「以上」を「=>」と書く:正しくは「>=」です
- 全角の記号を使う:「=」や「"」が全角だと、エラーになります。半角で入力してください
条件の表に、値を引く場合は、VLOOKUP関数の使い方も参考になります。
振り返ると
IF関数は、「条件、真の場合、偽の場合」の3つを指定して、結果を切り替える関数です。複数の条件は、ANDやORでまとめ、段階的な判定は、IFSや入れ子で表現できます。
関連記事:関数とは
あわせて読みたい:条件分岐(if文)とは