フローチャートで理解するIF関数の条件分岐

IF関数は私が日頃お世話になっている関数のひとつです。

最初はかなりとっつきにくかったですが、覚えてしまえばどんな場面でも登場するくらい応用力のある関数です。

まだ、しっかりと使いこなせない方のために、まずはIF関数の基礎的な部分を解説していきたいと思います(・∀・)

IF関数の基本構成

IF(論理式,真の場合,偽の場合)

論理式

判断基準となる条件を指定します。

たとえば、”A4セルは○ですか?”というようなYES/NOでできる質問のこと

真の場合

論理式の結果が真(TRUE)の場合に返す値を指定します。

上記で例えた”A4セルは○ですか?”という質問にYESの場合に設定しておく値のこと

偽の場合

論理式の結果が偽(FALSE)の場合に返す値を指定します。

上記で例えた”A4セルは○ですか?”という質問にNOの場合に設定しておく値のこと

IF関数の使用例

基本的なパターンとして、条件に応じて「フラグ」を立てる、という使い方が一般的です。

下図の例では、テストの点数が40点未満の場合に、”○”という値が返すようにしています。
(40点以上の場合は””でブランクになるように設定)

IF関数で真偽の値を指定する際、セル参照以外に直接数式の中に値を入力する場合は””[ダブルクォーテーション]で対象の値を括ります。

IF関数基礎①

今回の例では、4~7行目の各点数のうち、7行目のもののみ40点未満のため、C7セルに”○”というフラグが立っています。

細かいですが、ポイントです。論理式の中でE4セルを参照していますが、今回の真偽の条件となる”40点未満”は文字列ではなく、セルの表示形式を設定しておくことで40の数値を数式に活用するようにしています。

IF関数基礎②

「ユーザー定義」の中で「0″点未満”」と設定しておくと上図のように表示されます。

「表示形式」のユーザー定義について下記記事もご参照ください。

Exceのセル書式設定「表示形式」のおすすめユーザー定義【数値編】 | Excelを制する者は人生を制す ~No Excel No Life~

IF関数は入れ子(ネスト)にして複数条件を設定することも可能!

IF関数基礎③

先ほどの例では「40点未満か否か」という条件が1つだけでしたが、上図のように条件を2つ以上の複数にすることも可能です。

上図では、点数に応じて4つのランク付けをできるように設定しています。

  • 条件1:点数が75以上か?以上なら”Aランク”、未満なら条件2へ
  • 条件2:点数が50以上か?以上なら”Bランク”、未満なら条件3へ
  • 条件3:点数が25以上か?以上なら”Cランク”、未満なら”Dランク”

IF関数基礎④

複数条件ある場合は、条件ごとにタブで段落分けすると見やすく、理解しやすいと思います。

可変性を持たせることができるようすべてセル参照にしています。

フローチャートで表すIF関数のイメージ

IF関数フローチャート

上図のようにフローチャートにすると、イメージがつかみやすいです。

条件1、条件2、条件3の順番に判断されていきますので、条件(論理式)の順番を間違えると正しい値が返ってこないので要注意です。

慣れないうちは数式を眺めてのチェックだけでなく、何度か条件となるセルの値をいろいろ変えて、実際に返った値が正しいかまで逐一チェックしましょう。

Excel2003までは、7つまでしか論理式をネストできませんでしたが、Excel2007以降はいくつでもネストできるようになりました。

まとめ

IF関数の考え方はVBAでも扱いますが、概念はまったく同じです。

簡単なプログラミングの基礎ともいえる概念のため、はやめに覚えておくと後々VBAやそれ以外のプログラミング言語を覚えるときの基礎になると思います。

後日、IF関数の応用テクニックもご紹介していく予定です。参考になれば幸いです♪

この記事が気に入ったら
いいね ! しよう