Excel PR

【Excel】IF関数を使用して条件付きの処理を実行する【MOS】

Excel、IF関数
記事内に商品プロモーションを含む場合があります
この記事で分かること
  • 条件付きの処理を実行するIF関数の使い方
  • 論理式に使われる比較演算子の種類
  • IF関数の入れ子(ネスト)の使い方

Excelで条件付きの処理を実行することができるIF関数を紹介します。

IF関数を使用することで、指定した条件を満たしているか、満たしていないかによって異なる処理を実行することができます。

非常に汎用性の高い関数なので、使い慣れるといろいろなことに応用できます。

また、Excelにおける関数入力を効率化する「Tab」キーの使い方についてはこちらを参考にしてください。

Excel、TABキー関数効率化
【Excel】ショートカット, 「Tab」キーによる関数入力の効率化Excelにおける、「Tab」キーによる関数入力を効率化するショートカットを紹介します。...

IF関数

IF関数の書式と比較演算子

まずIF関数の書式ですが、

=IF(論理式, 値が真の場合, 値が偽の場合)という形をとります。

「論理式」には、条件を満たす真(TURE)もしくは、条件を持たさない偽(FALSE)のどちらかに評価できる式を指定します。

「値が真の場合」には、論理式の条件を満たす真の場合に返す値を指定します。

「値が偽の場合」には、論理式の条件を満たさない偽の場合に返す値を指定します。

論理式では、真なのか偽なのかを評価できる式を指定しなければなりません。

そこで、式には下の表のような「比較演算子」というものを使用します。

比較演算子 意味
= 等しい
< ~より小さい(未満)
> ~より大きい
<= ~以下
>= ~以上
<> 等しくない

「=」が等しい、「<」が~より小さい(未満)、「>」が~より大きい、は問題なく理解できると思います。

~以下の「<=」は「≦」の代わりとして、~以上の「>=」は「≧」の代わりとして使用されています。Excelの論理式では「≦」および「≧」は使用できないので、そういうものだと覚えてもらうしかありません。

等しくないの「<>」も「≠」の代わりとして使用されています。~より小さくて、~より大きいので、つまり等しくないということになります。こちらも慣れない表現だと思いますが、覚えてもらうしかありません。

では、実際にIF関数を使ってみましょう。

IF関数の基本的な使い方

IF関数1

IF関数を用いて、点数が80点以上ならば「合格」、80点未満ならば「不合格」と表示させたいと思います。

IF関数2

IF関数の書式は、
=IF(論理式, 値が真の場合, 値が偽の場合)
でした。

Aさんの点数が入力されているセルが、80点以上か、80点未満かを評価するため、「論理式」は「C3>=80」となります。

これにより、「値が真の場合」は「C3に入力されている数値が80以上の場合」となり、「値が偽の場合」は、80以上を満たさないことになるため、「C3に入力されている数値が80未満の場合」となります。

「値が真の場合」に、「合格」と表示させたいので「=IF(C3>=80」の後に続けて、「,」を打ち込み、「”合格”」と入力します。

さらに「値が偽の場合」に、「不合格」と表示させていので「=IF(C3>=80,”合格”」に続けて「,」「”不合格”」そして「)」を入力します。

Excelにおいて数式内で、文字列を認識してもらうためには、文字列を「”」: ダブルクオーテーションで挟まなければならないというルールがあります。

今回のIF関数でも、「=IF(C3>=80,合格,不合格)」と「”」を入力し忘れた場合、エラーになってしまうので注意してください。

IF関数3

Aさんの点数は80以上の95なので、確かに合格が表示されました。

オートフィルを使って、他の人の評価も表示させましょう。

IF関数4

論理式が80以上か、80未満かを評価しているため、点数が80点のDさんは「合格」になっています。

IF関数の入れ子(ネスト)

それでは、次の場合はどうでしょうか?

IF関数5

IF関数を使用して、点数が80点以上なら「〇」、80点未満かつ50点以上なら「△」、50点未満なら「×」を表示させたいと思います。

その時に、使うのがIF関数の入れ子(ネスト)と呼ばれるものです。

簡単に言うと、IF関数の中に、もう1つIF関数を入れることを言います。

IF関数6

先に結論から説明すると、上のように「=IF(C3>=80,”〇”,IF(C3>=50,”△”,”×”))」という数式を入力します。

理解しにくいと思うので、後半のIF関数を便宜上、「処理X」と置き換えます。

そうすると、「=IF(C3>=80,”〇”,処理X)」となり、このIF関数は、点数が80点以上なら「〇」を表示し、80点未満なら「処理X」を実行するという意味になります。

この「処理X」に、実際にはIF関数: IF(C3>=50,”△”,”×”)が組み込まれており、点数が50点以上なら「△」を表示し、50点未満なら「×」を表示します。

「処理X」は前半のIF関数の論理式が偽の場合である、点数が80点未満の時に実行されます。

すなわち、「=IF(C3>=80,”〇”,IF(C3>=50,”△”,”×”))」は、

点数が80点以上なら「〇」を表示し、80点未満かつ50点以上なら「△」を表示し、50点未満なら「×」を表示する関数になるのです。

IF関数の入れ子を入力する際は、「=IF(C3>=80,”〇”,IF(C3>=50,”△”,”×”))」のように最後に「)」が2つ続くことに注意してください。入力し忘れてエラーになることがあります。

オートフィルを使って、他の人の評価も表示させましょう。

IF関数7

確かに、点数が80点以上なら「〇」、80点未満かつ50点以上なら「△」、50点未満なら「×」が表示されていることが分かると思います。

さらにMOSについて、勉強したい方は参考書を利用しましょう。