「他のセルの内容に合わせて表示する値を変えたい」。このように、特定の条件に応じて表示を変更したい場合などに便利なのが、Excel(エクセル)のIF関数です。Excelの基本ともいえる関数であり、使いこなせるとできることが大幅に増えますよ。この記事では、IF関数の基本の使い方と応用を紹介します。
IF関数の基本の使い方
IF関数は、指定したセルの内容に応じて条件を分岐させ、表示内容を変更できるExcel関数です。たとえば、セルA1の内容が100以上のときは〇を、そうでない場合は×を表示する、といった処理ができます。
関数の記述は以下のとおりです。
=IF(論理式,[値が真の場合],[値が偽の場合])
これだけではどんなものか、わかりづらいですよね。
例を挙げて説明します。これは、とある動物園の日付別来場者数と、混雑状況を示す表です。
来場者数に応じて、1500人超なら”混雑”、それ以外の場合は”空き有り”と表示してみましょう。この場合、混雑状況の表示セルには、以下のように記述します。
=IF(C4>1500,”混雑”,”空き有り”)
この記述は「セルC4の数値が1,500以上かを判定し、該当する場合(真のとき)は混雑、該当しないとき(偽のとき)は空き有りと表示する」という意味になります。
こちらの処理を実行すると、以下のように表示されます。
イメージは掴めたでしょうか。IF関数の条件は、数値だけでなく「特定の文字列に等しい場合」「特定の日付より前の場合」など、さまざまな方法で指定できます。
また、条件の指定に関数を利用することで、より複雑な処理も可能です。では、応用編として「IF関数による3つ以上のパターン分岐」を紹介します。
IF関数の多重階層化による複数分岐
IF関数は、IFのなかにさらにIF関数を記述することで、三つ以上のパターンに分けることも可能になります。
これは、映画館の料金表です。来場者種別と来場日を入力することで、料金を自動的に出せるようにします。
この例では、「来場者はこどもか大人か」「来場日が平日か土日祝日か」それぞれによって料金が違うため、料金を特定するために合計4パターンを調べなければなりません。IF関数一つでは対応できないため、関数のなかに関数を入れる「入れ子」をします。記述するIF関数は以下のとおりです。
=IF(C9=”大人”,IF(C10=”平日”,1000,1500),IF(C10=”平日”,500,1000))
ここでは、以下のように各値をチェックしています。
・来場者(C9)が「大人」かそれ以外どうかを判定
・大人(真)の場合は来場日(C10)が「平日(真)」か「それ以外(偽)」かを判定し各料金を表示
・来場者が大人ではない(偽)場合に来場日(C10)が「平日(真)」か「それ以外(偽)」かを判定し各料金を表示
「こども」「平日」を指定した場合、処理結果は以下のようになります。
業務で使用する際は想定外の動きに注意
今回の例では記述を簡略化するために上記の関数を使用していますが、このままでは空白や想定外の文字列でも料金が表示されます。
業務などで使用する場合は、特定の文字列以外入力できないよう、セルに入力規則を設定するなど、もう少し工夫が必要となります。この点は留意しておいてください。
Excel関数入門にぴったり まずはここから初めよう
IF関数は、Excelで簡単な業務ツールを作成する場合などに頻出の関数です。これまであまり関数に触れてこなかった方は、まずここから覚えてみてください。