条件に応じて処理を切り替える「IF」関数。条件に応じて処理を使い分けることができる。ビジネスシーンで非常によく使われる基本関数のひとつだ。

条件に応じて処理を切り替えるIF(イフ)

 セル内の数値などの条件に応じて処理を切り替えたいシーンはよくある。例えば「60点以上なら合格、それ未満なら不合格」といった処理だ。これを実現するのがIF関数で、Excelの中でも基本関数のひとつとなっている。

 IF関数では条件を「論理式」で表現する。「セルの値が100以上」や「あるセルとあるセルが同じ(違う)」といった条件を論理式で表すわけだ。最初は難しいかもしれないが、すぐに慣れるはずだ。またIF関数は「入れ子」というワザを使って複雑な条件を表現できる。こちらも最初は難しく感じるかもしれないが、IF関数を使いこなすには必須のワザなのでぜひとも理解してもらいたい。

書式

書式 IF(論理式,真の場合,偽の場合)
論理式(必須) 条件を指定する
真の場合(必須) 論理式が成立する場合の処理
偽の場合(必須) 論理式が成立しない場合の処理

基本的な使い方

 下図を例に、セル内の数値によって表示する文字列を切り替えるという簡単な例を解説しよう。社内模試の結果から75点以上の人のセルには「○」を、そうでない人(つまり75点未満の人)のセルには「×」を表示する。例えば「伊藤 孝弘」の判定をC3セルに表示するには、「論理式」に「B3>=75」(B3セルの数値が75以上)、「真の場合」に「"○"」、「偽の場合」に「"×"」を設定する。「等しい」「以上」などの条件は、等号や不等号で表す(下表参照)。また、「真の場合」と「偽の場合」に文字列を表示させるには、「"」(ダブルクォーテーション)で囲む必要がある。

上の表で、点数が75点以上なら○、そうでなければ×を表示する
記号 内容
左側と右側が等しい
左側が右側より大きい
左側が右側より小さい
>= 左側が右側以上
<= 左側が右側以下
<> 左側と右側が異なる

【仕事での使い方】得点に応じて3段階のランクを付ける

合計点が170点以上なら「○」、150~169点なら「△」、149点以下なら「×」と表示したい。これは、条件分けをするIF関数の中で、さらにIF関数を使うと実現可能だ

 試験の合計点に応じて3段階で判定したい──。「基本的な使い方」で紹介した例では、処理は「真の場合」と「偽の場合」の2つにしか分けられないが、処理が3つ以上の場合に役立つ定番ワザがある。それはIF関数の中で、もう一度IF関数を使う、入れ子というワザだ。下図の例では、「偽の場合」に、さらにIF関数を使うことで、3段階にランク分けしている。IF関数は最大64段階まで入れ子にできる。

E3セルに図の関数式を入力すると、「○」「△」「×」の3段階で判定できる。あとはドラッグして、残りのセルにも関数式をコピーする

 上図のIF関数の設定を見て、イマイチ分からないという方も多いはず。そこで、もう少し分かりやすく解説したのが下図だ。最初のIF関数で「合計」が170以上かそうでないかを判定している。170以上の場合(「真の場合」)は「○」を表示する。もし170未満(「偽の場合」)の場合は、さらにIF関数で処理を切り分ける。今度は「合計」が150以上かそうでないかを判定する。150以上の場合は「△」を、150未満の場合は「×」を表示している。

最初の条件を「合計」が170以上とする。これが成り立つ場合に「○」を表示する。成り立たない場合は、「偽の場合」に書かれたもう1つのIF関数を実行する。ここでは「合計」が150以上を条件とし、成り立つ場合は「△」、成り立たない場合は「×」を表示する。これで3段階にランク分けできる