世界一分かりやすいエクセルの『IF関数』の解説。=IFの使い方や他関数との組み合わせ

  • 2022年3月9日
  • 2022年3月14日
  • Excel
定時でカエル
Excel(エクセル)のIF関数について詳しく教えてください!
オフィスうさぎ
この記事ではIF関数を世界一分かりやすく解説していくね!

IF関数は条件分岐を行うことのできる関数で、「Aのときは〇〇、Aではないときは△△」など条件別に表示したい内容を指示することができます。

IF関数はエクセルの関数の中でもトップグラスに重要な関数で、IF関数を使いこなせるかどうかで作業効率は大きく異なると言っても過言ではありません。。

そこでこの記事ではExcel(エクセル)のIF関数の使い方や他関数との組み合わせついて、どこよりも分かりやすく詳しく解説していきたいと思います。

エクセルのIF関数とは

エクセルIF関数とは、「指定する条件別に表示する値を指示することができる関数」です。

つまり、IF関数は条件分岐を行うことのできる関数を意味します。

この条件分岐はエクセルでの実務はもちろん、日常生活でも当たり前のように使われている考えです。

例えば、信号であれば「赤のときは停止/青のときは進む」と条件分岐しています。

また一般的な企業で働くサラリーマンであれば、「平日は仕事/土日はお休み」と条件分岐しているはずです。

他にもテストの合否結果であれば、「80点以上は合格/80未満は不合格」と条件分岐することもできます。

このように条件分岐はあらゆることに適応できる考えなので、エクセルで条件分岐を行うことができるIF関数は様々なケースで活用することができるのです。

エクセルのIF関数の書式

エクセルのIF関数の書式がこちらです。

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

詳しくは後ほど引数別に解説しますが、IF関数の書式は「指定する条件(論理式) と合致する場合()は第2引数を表示する、合致しない場合()は第3引数を表示する」を意味します。

テストの結果が「80点以上は合格、80点未満は不合格」としたい場合、下記の例であればIF関数を使って=IF(C3>=80,”合格”,”不合格”)と表現することができます。

では、それぞれの引数別に詳しく解説してみたいと思います。

IF関数の第1引数の解説

IFの第1印数には指定したい論理式を入力します。

論理式には指定したい条件を入力しますが、基本的には以下の6つの論理式を使います。

論理式意味
A1=5A1と5が等しい
<>A1<>5A1と5が等しくない
<A1<5A1が5未満
<=A1<=5A1が5以下
>A1>5A1が5より大きい
>=A1>=5A1が5以上

ちなみに論理式には数値だけではなく、A1=”りんご”のように文字列を入力することも可能です。

オフィスうさぎ
関数で文字列を入力したいときは、ダブルクォーテーション「” “」で文字を囲むよ!

今回のケースであれば80点以上という論理式を組みたいので、C3>=80を第1引数に入力するのが正解です。

IF関数の第2引数の解説

IF関数の第2引数には、第1引数の論理式に合致する場合に表示したい値を指示します。

今回のケースだと第1引数には「80点以上のとき」と指定しているので、第2引数には80点以上のときに表示したい内容を入力します。

今回は80点以上の場合に「合格」と表示したいので、第2引数には“合格”と入力するのが正解です。

IF関数の第3引数の解説

IF関数の第3引数には、第1引数の論理式に合致しない場合に表示したい値を指示します。

今回のケースだと第1引数には「80点以上のとき」と指定しているので、第3引数は80以上ではないとき、つまり80未満のときに表示したい内容を入力します。

今回は80点未満の場合には「不合格」と表示したいので、第3引数には“合格”と入力するのが正解です。

エクセルのIF関数で複雑な条件分岐を設定する方法

上記でご紹介したIF関数の書式は基本中の基本で、この書式を基本としてさらに複雑な条件分岐を設定することも可能です。

例えば2通りの条件分岐だけではなく、3つ以上の条件分岐を設定することもできます。

また論理式では上記でご紹介した6つの論理式だけではなく、「AまたはB」や「AかつB」などORやANDの概念を織り込むことも可能です。

エクセルのIF関数で3つ以上の条件分岐を設定する方法

IF関数の書式は「=IF(論理式, 真の場合, 偽の場合)」となるため、基本的には2通りの条件分岐を設定する関数になります。

しかし、先ほど例に挙げた信号も赤色と青色だけでなく黄色もあるように、エクセルでIF関数を使いたいときに3つ以上の条件分岐が必要になるケースも多々あります。

そこでこの項目では、エクセルのIF関数で3つ以上の条件分岐を設定する方法を解説したいと思います。

ちなみにExcel2016以降では3つ以上の条件分岐を設定できるIFS関数が追加されています。
IFS関数についての解説は、こちらの「執筆中です」をご覧ください。

IF関数で3つ以上の複数の条件を設定したい場合は、IF関数の中でさらにIF関数を使うことで複数の条件分岐を設定することができます。

先ほどの信号の事例を使って説明すると、イメージとしてはこのような形で2つのIFを組み合わせることになります。

実際に上記の信号の例をIF関数で示してみると、下記の表であれば=IF(B3=”赤色”,”停止”,IF(B3=”青色”,”進む”,”停止(危険時を除く)”))という関数になります。

上記のようIF関数の第3引数に新たなIF関数を組み込むことで、3つ以上の複数の条件を設定することが可能になります。

第1引数の解説

第1引数にはまず最初の条件分岐を設定します。

今回のケースではセルに赤色という文字列があるかどうかを条件にしたいので、第1引数には“赤色”と入力します。

第2引数の解説

第2引数では第1引数に合致する場合、つまり「赤」という文字列が書かれている場合に表示したい内容を入力します。

今回のケースでは第2引数には“停止”と入力します。

第3引数の解説

第3引数では第1引数に合致しない場合、つまり「赤」という文字列が書かれていない場合に表示する内容を入力します。

3つ以上の複数の条件分岐を設定したい場合、IF関数の第3引数には2つめのIF関数を入力していきます。

2つめのIF関数ではセルに「青色」という文字列があるかどうかを条件にしたいので、第1引数には“青色”と入力します。

2つめのIF関係の第2引数にはセルに「青色」と書かれている場合に表示する内容を、第3引数にはセルに「青色」と書かれていない場合(≒黄色と書かれている場合)に表示したい内容を入力します。

今回のケースでは2つ目のIF関数の第2引数には“進む”、第3引数には“停止(危険時を除く)”を入力するのが正解になります。

IF関数とAND関数・OR関数を組み合わせる

IF関数で条件分岐を設定する際に、AND関数OR関数と組み合わせることで「AかつBのとき〇〇」や「AまたはBのとき〇〇」のような条件を設定することが可能です。

IF関数とAND関数み組み合わせる

例えばテストで英語と国語が80点以上ある場合を合格と表示したい場合、下記の表だと=IF(AND(C3>=80,E3>=80),”合格”,”不合格”)と入力するのが正解です。

AND関数は=AND(論理式1,論理式2)という書式で、2つの論理式をAかつBの関係性で指定できる関数になります。

IF関数とOR関数を組み合わせる

またテストで英語または国語が80点以上ある場合を合格と表示したい場合は、下記の下記の表だと=IF(OR(C3>=80,E3>=80),”合格”,”不合格”)と入力するのが正解です。

OR関数は=OR(論理式1,論理式2)という書式で、2つの論理式をAまたはBの関係性で指定できる関数になります。

エクセルのIF関数を使いこなすためのコツ

エクセルのIF関数は上記で解説した通り比較的シンプルなものですが、実際の実務でIF関数を最大限活用できている人は決して多くはありません。

IF関数を使えば簡単にできるような作業も、そもそもIF関数を使えばという発想すらできずに非効率な作業をしている方が非常に多いです。

ここではIF関数を使いこなすためのコツとして、IF関数を組むための3つのステップをご紹介したいと思います。

  1. 条件分岐を文章で考える
  2. 何通りの条件分岐かを考える
  3. 条件分岐を論理式で考える

IF関数のSTEP①:条件分岐を文章で考える

IF関数の条件式を考える前に、まずは作りたい条件分岐を文章で説明できるように考えてみてください。

テストの結果が80点以上は合格、80点未満は不合格

英語または数学が90点以上の場合は合格、それ以外は不合格

テストの結果が80点以上は合格、80点未満は不合格、50点未満は赤点

などなど、上記のように最初から関数で表現するのではなく、一度作りたい条件分岐を文章で表現してみるようにしましょう。

これによって複雑な条件分岐でも整理することができ、どのようにIF関数を作るかを考えやすくなるはずです。

IF関数のSTEP②:何通りの条件分岐かを考える

STEP1で文章で表現した条件式をもとに、STEP2では何通りの条件分岐になるかを考えてみましょう。

条件分岐の数によってIF関数の作り方も変わってきますので、下記のように条件分岐の数を整理してみましょう。

テストの結果が80点以上は合格、80点未満は不合格」であれば、条件分岐は2通りになります。

テストの結果が80点以上は合格、80点未満は不合格、50点未満は赤点」であれば、条件分岐は3通りになります。

IF関数のSTEP③:条件分岐を論理式で考える

STEP3では条件分岐を論理式で表現してみましょう。

例えば「点数が80点以上」という条件を論理式で表現したい場合は、点数>=80という論理式になります。

また「英語または数学が90点以上」という場合は、OR関数を組み合わせて=OR(英語の点数>=90,数学の点数>=90)と表現することも可能です。

最初からSTEP3の論理式を考えだすと難しいですが、STEP1と2の作業をしっかりと行っていればかなり頭も整理されているはずです。

慣れてくるとSTEP1や2をとばすことはできますが、最初の内はSTEP1~3の流れを意識しながらIF関数のコツを掴むようにしてみてください。

エクセルのIF関数の実践問題

ここからは実際の実務を想定して、IF関数について実践形式の練習問題を出していきたいと思います。

例外処理によるIF関数

IF関数では「例外処理」という構成で条件式を設定することが多々あります。

例外処理とは「想定外の値が表示された場合に、例外的に別の処理をする」という考えです。

例えば「普段は〇〇だけど、~~のときは例外的に△△する」という感じで、基本と例外で処理する内容を変更したいときに便利な構成です。

実際にこの例外処理で構成されるIF関数の練習問題がこちらです。

E列に売上金額を表示させましょう。ただし、売上がない場合は”売上なし”と表示する。
=IF(D3=”販売終了”,”売上なし”,C3*D3)

今回のケースでは売上の有無で表示したい内容を変更したいので、“売上があるかどうか”を論理式でどのように指示するかがポイントです。

上記の表を見るとD以外の商品は売上があるため、売上のない商品Dを例外として設定すると考えた方は多いと思います。

しかし今回のケースでは売上のない商品Dを基本として、逆に売上のあるD以外の商品を例外にするのが正解になります。

確かに売上のない商品Dが仲間外れではありますが、売上のある商品達もそれぞれ金額が異なるため、「売上がある」という条件を論理式で表現することはできないのです。

逆に売上がない場合はD列=”販売終了”という論理式で簡単に表現することができるので、売上がない場合を基本としながらそれ以外を例外とすることで売上の有無を指示することが可能です。

=IF(D3=”販売終了”,”売上なし”,C3*D3)という関数は、「D列に販売終了と書かれている場合は”売上なし”と表示、販売終了と書かれていない場合は”単価(C列)×販売数(D列)”で売上金額を計算する」という条件を指示しています。

第1引数の解説

IF関数の第1印数には基本となる条件の論理式を入力します。
今回のケースではD列に販売停止と書かれているかどうかで売上の有無を指示するので、第1引数にはD3=”販売停止”と入力するのが正解です。

第2引数の解説

第2引数では第1引数の条件に合致する場合、つまりD列に販売停止と書かれている場合に処理したい動作を指示します。

今回のケースでは売上がない商品についてはE列に「売上なし」と表示したいので、第2引数には“売上なし”と入力するのが正解です。

第3引数の解説

第3引数では第1引数の条件に合致しない場合、つまりD列に販売停止と書かれていない場合に処理したい動作を指示します。

今回のケースではE列に売上金額を表示したいので、第3引数にはC3*D3と入力するのが正解です。

オフィスうさぎ
売上を算出する計算式は「単価×販売数」だからC3*D3になるよ!

複雑な条件分岐のIF関数

実際にエクセルの実務でIF関数を使いたい場合、シンプルな条件分岐だけではなく少し複雑な条件になることも多々あります。

ここでは3つ以上の条件分岐やAND関数やOR関数を組み合わせた、複雑な条件分岐のとなるIF関数の練習問題をご紹介します。

IF関数を使って、以下の条件でG列に判定結果を表示させてみましょう。
ランク条件
Aランク全科目の平均が70以上かつ英語が80以上
Bランク全科目の平均が70以上かつ英語が80未満
Cランク全科目の平均が70以下

上記表に記載の判定条件をもとに、IF関数を使ってG列に判定結果を表示してみましょう

=IF(AND(AVERAGE(C3:F3)>=70,D3>=80),”A”,IF(AVERAGE(C3:F3)<70,”C”,”B”))

今回のケースはこれまでご紹介してきた、「AND関数」「3つ以上の条件分岐」「例外処理の考え」のすべて織り込んだ複雑な条件分岐の設定になります。

まず今回の条件分岐を文章で表現してみましょう。

  1. 平均点が70点以上かつ英語が80点以上はAランク
  2. 平均点が70以下はCランク
  3. 上記以外(=平均点は70点以上かつ英語が80点未満)はBランク

上記のように条件を文章で表現してみると、3つの条件で表現できることが分かるはずです。

この3つの条件をIF関数で表現すると、=IF(AND(AVERAGE(C3:F3)>=70,D3>=80),”A”,IF(AVERAGE(C3:F3)<70,”C”,”B”))という関数になります。

第1引数の解説

IF関数の第1印数には基本となる条件の論理式を入力します。
ここでは「平均点が70点以上かつ英語が80点以上」を最初の条件にしたいので、AND関数と組み合わせてAND(AVERAGE(C3:F3)>=70,D3>=80)と入力するのが正解です。
オフィスうさぎ
平均点を計算するために、AND関数の中でさらにAVERAGE関数を組み合わせているよ!

第2引数の解説

第2引数では第1引数の条件に合致する場合、つまり”平均点が70以上かつ英語が80以上”の場合に処理したい動作を指示します。

今回のケースでは上記条件に合致する場合はAラングになるので、第2引数には“A”と入力するのが正解です。

第3引数の解説

第3引数では第1引数の条件に合致しない場合、つまり”平均が70以上かつ英語が80以上ではない”場合に処理したい動作を指示します。

最初の”平均が70以上かつ英語が80以上”の人たちを除くと、今回のケースでは残った人たちを以下の2つのグループに分類する必要があります。

  1. 平均点が70点未満
  2. 平均点は70以上だけど英語は80未満

上記の条件で新たに2つのグループに分類したいので、第3引数には2つめのIF関数を入力して複数の条件分岐を設定していきます。

“平均点70以上かつ英語は80未満”というANDの関係があるためAND関数を使う必要があるように見えますが、ここでは「平均点が70点点未満の人」と「それ以外の人</\b>」という例外処理の構成で上記の2つのグループを分類することができます。

そのためAND関数など複雑な条件分岐を設定しなくても、IF(AVERAGE(C3:F3)<70,”C”,”B”)とシンプルに表現すればOKです。

関連記事:世界一分かりやすいエクセルの『IFERROR関数』の解説

関連記事

定時でカエルExcel(エクセル)でエラーになった箇所を毎回修正するのが面倒です。オフィスうさぎエラーを表示させたくないときは、IFERROR関数がおすすめだよ!IFERROR関数はセルがエラ[…]

モバイルバージョンを終了