エクセルには計算や文字列操作など便利な関数が多数用意されています。
その中でも、必ずといっていいほど使われるのがIF関数。
IF関数は『ある値以上なら○○の処理をする。ある値以下ならXXの処理をする』というように、判定の結果で処理を変えることができる関数です。
関数の中でも基本的な関数になるので、ぜひ使い方をマスターしましょう。
エクセルの関数については、上の記事で関数の基本的な解説をしているので、ぜひ参考にしてください。
IF関数の書式
まずは、IF関数の書式(書き方)を解説。
最初の引数である『論理式』は『判定のための式』(条件)と思ってください。
IFは『もし、○○なら』という意味なので、『判定のための式』(条件)には『もし、A3セルの値が100以上なら』という意味の式(A3 >= 100)を入力します。
そして、IF関数の書式は『A3セルの値が100以上だったら○を表示、100未満だったら×を表示』、『B5セルに入力があれば”入力済み”、未入力だったら”未入力”を表示』のようになります。
まとめると、
- 第一引数 → 『条件』を書く。
- 第二引数 → その条件を満たす(真)場合の処理を書く。
- 第三引数 → 条件を満たさない(偽)場合の処理を書く。
最初の引数には『条件』を書いて、第二引数はその条件を満たす(真)場合の処理を、第三引数には条件を満たさない(偽)場合の処理を書いていきます。
論理式に書くことが多い、比較演算子
論理式に続いて、ちょっと馴染みのない『比較演算子』というのが出てきました。
といっても難しいものではなく、小学校の算数で習った『A > B』などと同じものです。
演算子 | 例 | 詳細 |
---|---|---|
= | A = B | AとBが等しい場合は『真』(TRUE)、等しくない場合は『偽』(FALSE) |
<> | A <> B | AとBが等しくない場合は『真』(TRUE)、等しい場合は『偽』(FALSE) |
> | A > B | AがBより大きい場合は『真』(TRUE)、そうでない場合は『偽』(FALSE) |
< | A < B | AがBより小さい場合は『真』(TRUE)、そうでない場合は『偽』(FALSE) |
>= | A >= B | AがB以上(等しいか大きい)の場合は『真』(TRUE)、そうでない場合は『偽』(FALSE) |
<= | A <= B | AがB以下(等しいか小さい)の場合は『真』(TRUE)、そうでない場合は『偽』(FALSE) |
見ての通り、『大きいか』、『小さいか』、『等しいか』ぐらいしかないので、難しくありません。
IF関数の使い方(基本編)
では書式がわかったところで、IF関数の具体的な例で一番基本的な使い方を解説します。
模試(数学)の結果の表があって、点数が80以上であれば『合格』を『合格判定』列に表示、80未満だったら『不合格』を表示させたい場合。
まず、最初の列のF4にセルをダブルクリック又は『F2』キーを押して編集モードにし、次のようにIF関数を入力。
=IF(E4 >= 0, "合格", "不合格")
このIF関数は、左のE4の値が80以上であれば真(TRUE)となり、”合格”がIF関数を入力したセル(F4)に表示されます。
逆にE4の値が80未満の場合は偽(FALSE)となるので、”不合格”が表示されます。
他の人の結果も同様に判定したいので、IF関数を入力したF4のセルをそのままF10のセルまでコピーしたら完成です。
F4のセルをクリックすると、セルの右下に四角のマーク(フィルハンドル)が表示。
四角のマークをマウスでクリックしたまま、F10の位置までずらして離す。
そうすると、全ての人の合格判定結果が一気に表示されます。
片方の条件を満たす場合だけ処理する
IF関数では『条件を満たす場合』と『満たさない場合』の処理をそれぞれ指定することができますが、『片方の条件を満たす場合だけ処理したい』ということもできます。
下の表のように、合格点に達した人だけ『合格』と表示する場合ですね。
この場合は、合格点に達していない人、つまり、条件が『偽』であった場合は何もしない書き方になります。※もちろん、条件を満たす『真』の場合に何もしないことも可能
具体的には、次のように書きます。
=IF(E4 >= 80, "合格", "")
これで、合格点に達していない場合は『何もしない』ということになります。
ちなみに、=IF(E4 >= 80, “合格”)のように、条件を満たさない方に何も書かなくても書式としては間違いではないですが、下の表のように『偽』を表す『FALSE』がそのまま表示されてしまいます。
何も処理しない場合でも、“”と書く癖をつけましょう。
3つ以上の条件で処理を分ける
ここまで、条件を満たす『真』か、満たさない『偽』の場合を例に解説しました。
しかし、3つ以上条件に分けて処理したい場合もあります。
例えば、次のようなもの。
- 点数が50点未満だったら『レベルC』
- 点数が50点以上80点未満だったら『レベルB』
- 点数が80点以上だったら『レベルA』
この場合は、次のように結果が3通りになります。
書式としては、ちょっとややこしくなります。
最初のIF関数で条件を満たさない場合に、さらにIF関数で条件によって処理させる書き方になります。
IF関数の中にIF関数を書くので、『入れ子にする』とか、『ネストにする』とかいいます。
例をまとめると、最初のIF関数で50未満を満たしたら『C』
50以上の場合だったら次のIF関数の判定に進み、80未満だったら『B』
80以上だったら『A』というように、処理が分かれます。