Excel

【Excel】IF関数で分岐を実現する|ANDとORで複雑な条件にも対応

※当ページのリンクには広告が含まれています。

IF関数とAND・OR関数のアイキャッチ画像

\ 仕事のステップアップに繋がる!?

IF関数を活用すると、Excelの表作成で実現できる機能の幅が大きく広がります。

「IF関数は知っているけど、使い方がいまいち分からない」という方がとても多い印象です。

今回は基本的なIF関数の使い方と、より自由度が高まるANDやORを合わせて使う方法をお伝えします。

IF関数の一般的な使い方

IF関数は「指定した条件をもとに、セルの値や設定を変更できる」関数となります。

まずはIF関数を使うと、どんなことができるかみていきましょう。

IF関数でなにができるのか?

とある企業の忘年会が開催されることとなり、Excelの表で参加者の名前・勤続年数・参加費を管理することにしました。

若手社員の負担を軽減するために、勤続年数に応じて参加費の金額を調整することになったとします。

忘年会の参加者を管理するためのExcel画像

目視で勤続年数をチェックしながら手入力するのも可能ですが、時間がかかるだけでなくミスをしてしまうかもしれません。

参加費を決める条件がはっきりと決まっている場合は、IF関数を使うことで自動的にセルに表示することができます。

IF関数で金額を自動表示したExcel画像

「もし勤続年数が10年未満だったら」「もし勤続年数が10年以上だったら」のような、条件の分岐を実現できるのがIF関数になります。

AND関数やOR関数との併用

先ほどは単一条件でしたが、複数条件となる場合はAND関数やOR関数が役立ちます。

AND関数とOR関数の条件例

  • AND条件:「勤続年数が10年未満、かつ役職が一般の人は2,000円」
  • OR条件:「勤続年数が10年未満、もしくは役職が一般の人は2,000円」

日本語では「かつ」がAND条件、「もしくは」がOR条件と考えるのが良いでしょう。

忘年会の参加費表を複数条件にしたExcel画像

条件が複数にわたる場合には、AND関数やOR関数を使うとすっきりとした数式で場合分けすることができます。

複数条件をAND関数で実現したExcel画像

またこのようにIF関数のなかで別の関数を使うことも可能であり、IF関数のなかでIF関数を使うネスト構造を活用することも多々あります。

IF関数の使い方

IF関数は下記のルールをもとにした使い方となっています。

IF関数

=IF(論理式,[値が真の場合],[値が偽の場合])

論理式には、条件文(上記の例では「もし勤続年数が10年未満だったら」)を入力します。

その論理式がTRUE(合致する)なら[値が真の場合]の処理を実行し、FALSE(合致しない)なら[値が偽の場合]の処理を実行します。

IF関数を図で分かりやすくした画像

それでは実際の数式をつくりながら、IF関数やAND関数、OR関数について学んでいきましょう。

実際にIF関数を使ってみる

ここまでにご紹介したIF関数の使い方をもとに、忘年会の参加費を管理するExcel表をもとにIF関数を使ってみます。

IF関数で自動表示する

1.まず始めにデータを入力した表を用意し、IF関数の論理式にあたる条件を決めておきましょう。

今回は下記条件で進めていきます。

条件

  • 勤続年数が10年未満なら参加費2,000円
  • 上記に当てはまらない人は参加費3,000円

2.対象セルにIF関数を用いた数式を入力します。

金額を表示したい列の一部であるC3セルに「=IF(B3<10,$F$3,$F$4)」と入力します。

IF関数を用いた数式を表示しているExcel画像

数式の入力が終わったらEnterを押し、勤続年数が30年の田中さんの参加費が3,000円となるのを確認しましょう。

3.そのままC9セルまでオートフィルでコピーしたら完成です。

セルをオートフィルでコピーするExcel画像

勤続年数が10年未満の山田さん・佐藤さん・鈴木さんは金額が2,000円となり、他の人は3,000円となりました。

数式をすべて入力して完成したExcel画像

4.IF関数の理解を深める

入力した数式「=IF(B3<10,$F$3,$F$4)」は、論理式が「B3<10」となっています。

これが表示結果を変えるための条件であり、TRUEの場合は「$F$3(2,000)」を、FALSEの場合は「$F$4(3,000)」を表示します。

入力した数式を分かりやすくした図の画像

論理式にAND関数を使う

ここまでは論理式の条件がひとつだったので単純な数式となりましたが、条件が複数になる場合も考えてみましょう。

1-1.AND関数を利用するため、複数条件を設定します。

条件

  • 勤続年数が10年未満、かつ役職が一般の人は2,000円
  • 上記に当てはまらない人は参加費3,000円

1-2.IF関数内の論理式でAND関数を用いた数式を入力します。

分岐を決めるための条件が2つ以上ある場合、IF関数の論理式ではAND関数を使うと便利です。

表にAND関数を用いた数式を入力しているExcel画像

AND関数は、引数に入れたすべての式が真である場合にTRUEを返す関数となっています。

AND関数

=AND(論理式1,[論理式2],[論理式3], ...)

今回は「B3<10」と「C3="一般"」のどちらも真になるときのみTRUEを返します。

TRUEの場合は「$G$3(2,000)」を、FALSEの場合は「$G$4(3,000)」を表示します。

AND関数を用いた数式ですべて入力したExcel画像

勤続年数が10年未満、役職が一般という条件のどちらも満たしている山田さんと佐藤さんのみ金額が2,000となっているのが確認できました。

1-3.IF関数とAND関数を併用した数式の理解を深める

入力した数式は「=IF(AND(B3<10,C3="一般"),$G$3,$G$4)」で、IF関数の第一引数である論理式は「AND(B3<10,C3="一般")」となっています。

IF関数とAND関数を分かりやすい図にした画像

論理式にOR関数を使う

2-1.OR関数を利用するため、複数条件を設定します。

ここからは論理式にOR関数を使って、どちらか一方の条件を満たしているかどうかを基準に場合分けしていきます。

条件

  • 勤続年数が10年未満、もしくは役職が一般の人は2,000円
  • 上記に当てはまらない人は参加費3,000円

1-2.IF関数内の論理式でOR関数を用いた数式を入力します。

AND関数ではどちらの条件を満たす必要がありましたが、OR関数では片方の条件をクリアすればTRUEとなります。

OR関数を入力したExcel画像

OR関数の使用法はAND関数と同じで、引数の数式がどれか一つでも真であればTRUEを返す点が異なります。

OR関数

=OR(論理式1,[論理式2],[論理式3], ...)

D3セルに「=IF(OR(B3<10,C3="一般"),$G$3,$G$4)」と入力したら、オートフィルでD9セルまでコピーします。

OR関数の数式をコピーした後のExcel画像

注目すべきは6行目の加藤さんと7行目の鈴木さんです。

勤続年数が10年未満、もしくは役職が一般の条件にあてはまる場合は金額が2,000円となる表を作ることができました。

1-3.IF関数とOR関数を併用した数式の理解を深める

今回は、IF関数の論理式に「OR(B3<10,C3="一般")」と入力しました。

IF関数とOR関数を組み合わせることによって、条件を指定する幅がかなり広がりますのでご活用ください。

OR関数を分かりやすい図にした画像

IF関数の使い方とAND関数、OR関数を併用する まとめ

この記事では、主にIF関数についてご紹介しました。

OR関数

  • IF関数の使い方
  • IF関数とAND関数を併用する
  • IF関数とOR関数を併用する

Excelの利便性を高めるには、IF関数を使いこなすことが必要不可欠です。

ゆっくり習得していきましょう!