IF関数
条件を判断して処理結果を変える場合には、IF関数を利用します。
IF関数を利用する場面
まず"IF"という英語の単語の意味は「もし〜」ですね。IF関数は、もしある条件が"○○"だったら"●●"にする。"○○"でなければ"▲▲"にする。と、「条件を満たしている場合」と「満たしていない場合」で処理を変えたい場合に使用します。
家計簿や納出帳など、ご家庭や、ビジネスシーンとさまざまな場面でこのIF関数は利用できます。この関数を「知っているのと」「知らないのと」では大きな差がありますので是非ここで覚えてしまいましょう。
このページを読んだら、実際に自分で作業してみると覚えられると思います。もしわからなければメール下さい。私ができる範囲でサポートします。参考としてこのページで説明しているサンプルファイルもダウンロードできるように用意しています。もしうまくいかない場合はこれをDLして確認して下さい。それでは早速説明を始めます。
まず例題と完成を確認
例題:国語のテスト結果を点数により「合格/不合格」を自動判定して表示してみましょう。条件は、「80点以上であれば"合格"」「80点未満であれば"不合格"」です。
実際にIF関数を入力してみましょう
- A列には、個人の名前が入っています。
- B列には、各人の国語のテスト結果の点数が入っています。
- C列には、IF関数により点数に応じ「合格」または「不合格」を自動的に表示させたいと思います。
まずは山田さんの合否判定をしてみます。結果を表示させたいセルC3を選択します。
セルC3に以下のIF関数を入力します。(下記の文字をコピー&貼り付けしてもかまいません。)
=IF(B2>=80,"合格","不合格")
注意:「合格」「不合格」の文字以外は全て半角英数です。関数は文字以外は全て半角英数で入力しましょう!
数式を入力しキーボードの[Enter]キーを押すと、セルC3に"合格"と表示されます。
あとはほかの四人の判定もするように、セルD3入力した計算式をコピーし、セルD4〜D7へ貼り付けしましょう。
これで完成です。以下の詳しい説明もご覧ください。
IF関数の詳細説明
IF関数の基本形は以下のように指定します。黒文字の部分はIF関数の基本の形です。
=IF(引数1,引数2,引数3)
具体的に引数には以下を指定します。
- 引数1:判定条件を指定します。
- 引数2:判定条件が真の場合、引数2に記載された内容が実行されます。
- 引数3:判定条件が偽の場合、引数3に記載された内容が実行されます。
ちなみに引数は()の中に記述します。関数によっては引数が無いものから複数あるものもあります。複数の引数がある場合、引数をカンマで区切って指定します。引数の指定順は関数によって異なります。
今回は以下のように指定しました。
=IF(B2>=80,"合格","不合格")
-
引数1:B2>=80と判定条件を指定しました。
B2>=80とはセルB2の値が80以上の場合という意味です。この>=は比較演算子と言って判定条件で利用します。比較演算子には下記の種類があります。
A = B AとBが等しい A > B AがBよりも大きい A < B AがBよりも小さい A >=B AがB以上 ←今回利用 A < =B AがB以下 A <> B AとBが等しくない - 引数2:引数1で指定した判定条件が真の場合"合格"と指定。
引数1にはB2>=80が指定してあり、B2に"85"点なので判定の結果「真」となり引数2で指定した"合格"が表示されるのです。
引数2に指定できるのは文字列と式が指定できます。文字列を表示させたい場合は、「"」で囲う必要があります。式を指定する場合は「"」で囲む必要はありません。もし「"」で囲ってしまうと計算式が文字として認識してしまいセルに計算式が表示されてしまいます。
- 引数3:引数1で指定した判定条件が偽の場合"不合格"と指定。
レベルアップ
複雑な条件で判断する
今回、引数1の判定条件はひとつでしたが、時には複数の条件で判定したいことがあるでしょう。こんな時合はAND関数やOR関数やNOT関数を利用することで、もっと複雑な条件判定をすることが可能となります。
=IF(AND(A1=10,B2=20),C1+D2,E1-F1)
上の式の意味は、セルA1が10であり、かつセルB2が20である場合(ともに真であるなら)C1+D2の計算結果を表示する。 もしセルA1が10でありセルB2が20でない場合(どちらか一方が真でないなら)E1-F1の計算結果を表示する。=IF(OR(A1<>10,B2=C3),"エクセル","ワード")
上の式の意味は、セルA1が10である、又はセルB2とセルC3が等しい場合(どちらか一方が真であるなら)"エクセル"と表示する。 もしセルA1が10でなく、セルB2とセルC3が等しくない場合(どちらも偽であるなら)"ワード"と表示する。判断後の選択肢を複数用意する
今回、引数2と引数3には式が指定できるので、ここへさらにIF関数を指定して2分岐以上の条件判定をさせることも可能となります(最大7階層まで)。しかしあまり階層を深くしてしまうと訳がわからなくなりますので、最大でも2階層までに抑えておいたほうが無難です。もっと条件を分岐させたいなら、複数のセルを利用して複数の分岐を作るとよいと思います。
空欄かどうかを判断する
判定条件に空欄を指定することができます。セルA1が空欄かどうかを調べる場合には以下のように指定します。
=IF(A1="","何も無し","何か有り")