IF関数で条件により処理を分ける/条件分岐
Excel(エクセル)でIF関数を使うと、条件に合う場合、合わない場合で結果を2通りに分ける事ができます。
例えば、以下の例のように80点以上の場合は「優」を表示、それ以外は「空欄」のように指定が可能です。
どの関数を使っていいか分からない場合は、fxボタンで「関数の挿入」ダイアログを開き「やりたい内容から検索して関数を使う」こともできますが・・
利用する関数名が分かっている場合は、「=」(イコール)を入力後、関数の頭の文字(今回の場合は)「if」を入力すればifから始まる関数一覧が表示されるので、そこから選択した方が便利です。
「IF」を選択すると、次は「論理値」を指定(入力)するよう下側に表示される補足文字が太字で強調されます。
インラインで関数の式を入力できるのであれば「補足文字」を参考にしながら進めて下さい。
殆どの人はダイアログがあった方が最初は分かりやすいと思うので、初心者は(IF関数が選択された状態で)fxボタンを押して下さい。
「関数の挿入」ダイアログボックスが表示されたらIF関数が[最近使った関数]でなければ、関数の分類で[論理]を選択するか(分類が分からない状態の場合は)[すべてを表示]を選択し、ABC順に並んでいるのでスクロールして[IF]関数を選択します。
関数の引数ダイアログが開いたら条件を指定します。
IF関数の条件(論理式)について
上記の例に則った記載方法は以下の通りです。
D2>=80
セル[D2]の値が80以上の条件で
B上記の論理式(条件)に合致した場合に表示する値
※80点以上なら[優]
C上記の論理式(条件)に合致しない場合に表示する値
※80点以上でないなら[](空白)
完成したIF関数の式をオートフィルでドラッグコピーすれば完成です。
IF関数の不等式の記述方法について
=IF(D2>80,”◎”,”▲”)
セル[D2]の値が80より大きい場合[◎]を入力、そうでない場合は[▲]を返します。
=IF(D2>=80,”◎”,”▲”)
セル[D2]の値が80以上場合[◎]を入力、そうでない場合は[▲]を返します。
=IF(D2<80,”▲”,”◎”)
セル[D2]の値が80未満/より小さい場合[▲]を入力、そうでない場合は[◎]を返します。
=IF(D2<=80,”▲”,”◎”)
セル[D2]の値が80以下)場合[▲]を入力、そうでない場合は[◎]を返します。
=IF(D2<>80,”▲”,”ぴったり”)
セル[D2]の値が80に等しくない(80ではない)場合に[▲]を入力、そうでない場合は[ぴったり]を返します。
IF関数を使ってさらに条件分岐を行う方法
IF関数を入力したセルをクリックすると完成した式が確認できます。
確認した内容「=IF(D2>=80,”優”,””)」を
「=IF(D2>=70,”良”,””)」と入力し直すと
「70点以上の場合は「良」を表示」と修正できることが簡単に想像できると思います。
これを最初のIF関数「=IF(D2>=80,”優”,””)」と組み合わせると
(1)80点以上の場合は「優」を表示(真の場合)
(2)80点以上ではない場合(偽の場合)は次のIF関数を確認
→ (1)70点以上の場合は「良」を表示(真の場合)
(2)70点以上ではない場合(偽の場合)は「空欄」
これを1つの関数でまとめると
※テキストエディタなどに数式をコピー/修正して「偽の場合」に張り付ける場合、=(イコール)を含まないよう注意
「偽の場合」で””(空白文字を意味するダブルクォーテーション)からIF関数に変更する際に、””を削除することを忘れずに。
※文字列を意味する場合は””(ダブルクォーテーション)でくくる必要がありますが、逆に数字、数式、関数は””(ダブルクォーテーション)ではくくってはいけません。
できたIF関数の式をコピーすると正しく結果が反映されます。
IF関数で複数の条件分岐を関数の引数ダイアログから修正
入力されたIF関数をインラインで修正するのは、まだ少し大変だと思われる人は「関数の引数」ダイアログから修正した方が分かりやすいかと思います。
まず1IF文が入力されたセルを選択し
2fxボタン
3[偽の場合](上の条件に合致しなかった場合)に先ほどの80点以上の場合を[優]にするというIF関数「=IF(D2>=80,”優”,””)」を貼り付け、80→70、優→良と直せば比較的修正が分かりやすいと思います。
必要に応じて不等号部分は適宜修正して下さい。
Excel2016以降では複数のIF分を簡単に指定・読み込めるようにしたIFS関数が使えるようになりました。
2016以降のExcelが手元にないので詳細は記載できませんが、入手したら記事を追記します。
IF関数で条件により処理を分ける/条件分岐へのコメント