今回はエクセルのIF関数についてです。
英語の意味どおり、もし~ならばを関数にした便利な機能です。
条件分岐ともいわれますね。
システム作りにはよく使われる上、ここから派生するSUMIFなどの基礎になります。
ぜひ参考にしてみてください。
それでは見ていきましょう。
■関数の仕組み
■条件分岐をする
今回は下図の割合の数値をもとに数値が半分より上か下か判別することとします。
現在の数値は60%。つまり「半分より上」です。
では実際に表示させてみましょう。
ここで使用する関数が「IF関数」。
「=」の後にIFと打ちます。するとIF関数が出てくるのでダブルクリックします。
まずは論理式からです。
半分以上を判断するために、不等号を使用します。
半分以上なので判別式は「B3(60のセル番地)>50」となりますね。
ここで論理式を打ち終わったこと教えるために「,」を打ち込みます。
次は真の場合を設定します。
論理式があっていたらどのように表示するか指示します。
ここでは”半分より上”と指示しておきましょう。文字で打ち込む際は「”」で挟まないといけません。
またここでセルを選択すると、真の場合はセルの値が表示されます。
ここで真の場合を打ち終わったこと教えるために「,」を打ち込みます。
次は偽の場合。
論理式が異なっていたらどのように表示するか指示します。
ここでは”半分より下”と指示しておきましょう。
関数式に表すとのようになります。
=IF(B3>50,”半分より上”,”半分より下”)
では入力してみましょう。
この状態でEnterキーを押すと…
うまく機能してますね。
割合の数値を30にしても「平均より下」と出てくれています。
ちなみに条件式は「>・<・<=・>=・=」なども使用できます。
■よくあるエラーと対処法
ではIF関数を使用して発生するエラーとそれに対する対処法を説明します。
・参照しているセルがエラーになっている
では先ほどまで使用していたシートをもとに説明します。
IFでの関数式は「B3」のセルの値をもとに判別しています。
では「B3」がエラーになったときの結果を見てみましょう。
IF関数を使用して算出している結果の方もエラーになってしまいました。
参照元がエラーであればIFで判別できないためエラーとなってしまいます。
対策を下記にまとめました。
対策①:参照のエラーを解消する
対策②:IFERROR関数を使用し、エラー時の分岐を行う。
対策①はシンプルな解決策ですよね。
対策②はIFERROR関数を使用することでIF関数のようにエラーの場合の分岐が可能になります。
IFERROR関数についてはこちら☟
【IFERROR関数】エクセルでのエラー時の対応について~エラーに強いファイルを作る~ ► 独学エクセル塾 (dokugakuexcel.com)
■公式の説明
わかりやすいように説明したため公式と使用する語句が異なりますが
マイクロソフト公式の説明については下記のリンクを参照してください。☟
IF 関数 – Office サポート (microsoft.com)
■練習問題
練習問題で複数のIF関数を復習してみてください。
下図のシートを用意しました。
Aさんの得点とBさんの得点を比較してどちらが勝者か
「B7:D7」へ出力してみましょう。
答え:=IF(B3>D3,”Aさんの勝利”,”Bさんの勝利”)
解説:Aさんの得点(B3)がBさんの得点(D3)を上回っていたら(>)
”Aさんの勝利”と表示する。それ以外は”Bさんの勝利”とする
表示は下記のようになります。数値を入れ替えてもうまく機能していますね。
■まとめ
ここで終わりたいのですが
先ほどの半分より上か下か判別するシートで勘の鋭い方はこう思ったはず…
「50」ではどうなるのか?
結果はこうです。
そうですね。50>0以外はすべて「半分より下」なので誤った出力になります。
つまり結果が「半分より上」「半分より下」「半分」の3パターンあることになります。
答えが3パターン以上ある場合はIFをもう1つ追加して重複の分岐をする必要があります。
今回の内容で解決した人もいると思うので
重複した分岐方法は次回説明します。
重複したIF関数の記事はこちらから☟
【IF関数】エクセルでIF関数を複数・重ねて、3パターン以上分岐させる ► 独学エクセル塾 (dokugakuexcel.com)
では次回の記事でお会いしましょう!
このサイトでは独学でエクセルの技術を磨くことができます。基本操作やVBA、関数を随時更新中です。
関数の使い方や効果を実際のエクセルを使用してわかりやすくしています。
いつかはエクセルの教科書のようなサイトを目指してます。
コメントで知りたいことや悩みなど記入していただければお答えしていきます。
ぜひ、ほかの記事もご覧ください。皆様の参考になれれば幸いです!