Excelの関数の中で最も基本的な関数の1つに「IF(イフ)関数」があります。IF関数は「もし〇〇だったら▲▲を表示、違ったら××を表示」というように、条件に一致するときとしない時で、別の値を表示させることができる便利な関数です。多くの方は、IF関数をAかBかの2択でしか扱いませんが、実はIF関数は3つも4つも検索条件をかけることが可能なんです。この記事では、ExcelのIF関数の複数条件指定の方法をわかりやすく解説していきます。
目次
Excel IF関数で複数条件は記述できる?
ExcelのIF関数では、条件を複数設定することができます。数式と処理がややこしくなるのであまり好まれませんが、3つ4つ5つと条件を追加することができます。
そもそもIF関数とは?
IF関数は「もし〇〇だったら▲▲を表示、違ったら××を表示」というように、条件に一致するときとしない時で、別の値を表示させることができる便利な関数です。
IF関数はどのように記述するのかおさらいしておくと、
=IF(条件,一致した時の処理,不一致だった時の処理)
このように記述します。
例えば、下の画像のように、60点以上だったら”合格”、60点未満だったら”不合格”という文字を出力する表があったとします。実際に処理をIF関数で書いてみましょう。
まずはじめに、C3セルをクリックして、=IF(と書き始めます。点数の入ったB3セルをクリックして式に記述したら、「60点以上」を表す「>=60」という式を記述します。ここまでで条件指定は完了したので、カンマ(,)で区切ります。
次に、一致した時の処理です。今回は「合格」という文字を出したいので、”合格”と記述します。必ずダブルクォーテーションマーク(” “)で囲うことを忘れずに行いましょう。ExcelのIF関数は、ダブルクォーテーションマークで文字の両端を囲わないと判別してくれません。一致処理を書いたら、またカンマ(,)で区切って、不一致の時の処理を記述します。今回の表では、60点未満は不合格ですので、”不合格”と記述します。完成した数式は以下のようになります。
=IF(B3>=60,”合格”,”不合格”)
Enterキーを押すとIF関数が働き、「合格」の文字が出力されました。
C3セルを選択した状態で、C列最後の生徒までドラッグしてオートフィルを実行すると、一気にIF関数の記述がコピーされ、合否が埋まります。
Excel IF関数 複数条件の書き方
ExcelのIF関数の書き方をおさらいしましたが、一体どこにもう1つ条件を加える箇所があったでしょうか?先に答えを行ってしまうと、条件が不一致だった時の処理内容に条件を追加することで、IF関数は複数条件を記述することができます。
上記=IF(B3>=60,”合格”,”不合格”)という式の”不合格”の処理に、「さらにIF文を追加する」ことで、2つ目の条件を書くことが可能になります。
例えば、「60点以上で合格、30点〜59点で再テスト、30点未満は不合格」という処理を行いたい場合、「30点〜59点で再テスト」という処理を付け加えてあげることで、条件を増やすことができます。
数式は以下のようになります。
=IF(B3>=60,”合格”,IF(B3>=30,”再テスト”,”不合格”))
IFかっこの中にIFかっこが入る、という複雑な数式になりました。条件が2つに増えた際、「不合格」を2番目のIFかっこの中に記述するのがポイントです。Enterキーを押すと、下記のように合否判定が出ます。
先ほどと同様、C3セルを選んだ状態で、任意のセルまでドラッグしてオートフィルを実行すると、IF関数の数式がコピーされます。下記の画像では、しっかり”合格”、”再テスト”、”不合格”の3種類が出力されていますね。
Excel IF関数の応用
ExcelのIF関数で複数条件を指定する方法がわかったところで、応用編に進んでみましょう。応用編では、「条件を4つ作成したい場合」「AND関数」「OR関数」を紹介します。まずはじめに紹介するのは、条件を4つ作成したい場合です。数式がさらに複雑になりますが、「条件に不一致だった場合の処理にIF関数を追加」「”不合格”は最後に記述」この2つを抑えておけば、スムーズに記述することができるでしょう。
Excel IF関数 条件を4つ作成してみる
上の画像のような成績表をイメージしましょう。90点以上で”優”、70点〜89点で”良”、60点〜69点で”可”、60点未満は”不可”という成績表を作成します。少し考えてみましょう。
この場合、下記のようにIF関数を記述すると処理を実現することができます。
=IF(B3>=90,”優”,IF(B3>=70,”良”,IF(B3>=60,”可”,”不合格”)))
上の画像のような成績表をイメージしましょう。90点以上で”優”、70点〜89点で”良”、60点〜69点で”可”、60点未満は”不可”という成績表を作成します。少し考えてみましょう。
この場合、下記のようにIF関数を記述すると処理を実現することができます。
=IF(B3>=90,”優”,IF(B3>=70,”良”,IF(B3>=60,”可”,”不合格”)))
つづいて、IF関数と組み合わせることで、より複雑な処理をすることができる「AND関数」「OR関数」を紹介していきます。AND関数は「なおかつ」の意味をもち、OR関数は「または」の意味をもちます。
AND関数
「~が△△で、なおかつ××なら〇〇」と表示したい場合は、AND関数を使用します。
=AND(条件1, 条件2)
条件はいくつでも指定することができ、すべての条件が成立した場合のみ正解とします。
複数の条件に対応させたい場合は、下記のように条件をカンマ区切りにして書き足していきます。
=AND(条件1, 条件2, 条件3,・・・)
では、IF関数とAND関数を組み合わせる場合は、どのようにしたらいいのでしょうか。
例えば、セル「B5」の値が60以上で、なおかつ80以下のときは「良」と表示したい場合、次のようにします。
=IF(AND(B5>=60,B3<=80),”良”,””)
OR関数
「~が△△、または××なら〇〇」と表示したい場合は、OR関数を使用します。
=OR(条件1, 条件2)
OR関数も条件はいくつでも指定することができます。指定した条件のうち、どれかの条件が成立すれば正解とします。
AND関数のときと同様、複数の条件に対応させたい場合は、下記のように条件をカンマ区切りにして書き足していきます。
=OR(条件1, 条件2, 条件3,・・・)
それでは、AND関数のときと同様に、IF関数とOR関数を組み合わせてみましょう。
例えば、一次審査の点数が80点以上、または二次審査の点数が80点以上のときに「合格」と表示したい場合は、次のようにします。
=IF(OR(B5=”80″,C5=”80″),”合格”,””)
Excel IF関数 AND・OR関数を組み合わせて複数条件を指定する
AND関数とOR関数を組み合わせて、より複雑な条件を指定することもできます。
例えば、「セル「B5」の点数が80点以上の男性または女性」を「合格」と表示したい場合は、「点数が80点以上」という条件をAND関数、「男性または女性」という条件をOR関数を使って以下のように表現しましょう。
=IF(AND(B5>=80,OR(C5=”男性”,C5=”女性”),”合格”,””)
このようにAND関数とOR関数を駆使すれば、より高度な条件式をつくることができます。
Excel IFS関数で複数条件を指定する
ExcelのIF関数で複数条件を指定するには、IFかっこの中にIFかっこを作る必要がありました。便利な機能ではあるものの、見にくい、というのが正直な意見ですよね。実は、Excelでは、同様の処理を見やすく記述することができる関数が用意されているのです。それが、IFS(イフス)関数です。次は、そちらを解説していきます。
Excel IFS関数の書き方
先程、テストの点数によって「優・良・可・不可」を判別し、出力するIF関数の処理を解説しました。数式としては、
=IF(B3>=90,”優”,IF(B3>=70,”良”,IF(B3>=60,”可”,”不合格”)))
という複雑な構成になっていましたね。
IFS関数を使うと、以下のような数式に書き直すことができます。
=IFS(B3>=90,”優”,B3>=70,”良”,B3>=60,”可”,”不合格”)
IFS関数では、カンマで区切った後のIFかっこが不要になります。つまり、カンマで区切ったら、すぐに次の処理内容を記述できるのです。IFかっこが最初の1つだけで済むので、少し見やすくなったのではないでしょうか?
ただ、IFS関数のデメリットとして挙げられるのが、使用できるバージョンが限られることです。実は、Excel2019もしくはOffice365でないとIFS関数は使えないのです。
正しい記述をしたはずなのに、以下のように「NAMEエラー」が返ってきた場合は、お使いのExcelがIFS関数を利用できないバージョンである可能性が高いです。
もし、IFS関数が使えない場合は、上述したIF関数をかっこの中で繰り返す方法で複数条件を記述しましょう。
Excel IF関数に関連する関数の紹介
基本的なIF関数の使い方や複数条件の指定方法を紹介してきましたので、最後に、IF関数に関連する関数で、知っていると便利な特定の条件をカウントできる関数を紹介します。
COUNTIF関数
まずはじめに紹介するのはCOUNTIF関数です。
「好きなスポーツをきいてサッカーと答えた人は何人だろう」「出席簿の中に男は何人いるか」など、エクセルでデータを入力していて、その中の特定の条件をカウントしたい!そんな時に役に立つのがCOUNTIF関数になります。
書式はこのようになります。
=COUNTIF(検索範囲,”特定の文字”)
下記の画像を用いて、書式の作成方法を説明していきます。
まずはじめに、セルに=COUNTIF( と入れます。次に、カウントしたい範囲(B3:B8)を選択します。この時、セルを範囲選択すると自動的に数式が入りますので活用しましょう。最後に、範囲の後ろにコンマを入れ、2つ目の引数である検索条件(”サッカー”)を入れると書式を入れたセルに特定の文字のカウント数が表示されます。
6つのスポーツのうちサッカーのセルは3つのため、数式を入力したセルには「3」と表示されています。
COUNTIFS関数
「野球が好きな男は何人か」のように条件を複数指定し、その条件に一致するセルの数を数える場合は、COUNTIFS関数を使います。
書式はこのようになります。
=COUNTIFS(検索範囲,”特定の文字”,検索範囲,”特定の文字”)
先ほどと同じように、書式の作成方法を説明していきます。
まずはじめに、セルに=COUNTIFS( と入れます。次にカウントしたい範囲を選択し、範囲の後ろにコンマを入れ、2つ目の引数である検索条件を入れます。最後に、同じように2つ目のカウントしたい範囲を指定し、検索条件を入れます。
例えば、下記の画像のように野球が好きな男の数を知りたい場合は
数式の前半に好きなスポーツが記載されているセルB3~B11の範囲で「野球」に一致するものを、後半は男女の記載があるセルC3~C11で「男」に一致するものを条件として指定しています。このように、引数は「検索範囲+特定の文字」の組み合わせで条件を複数指定することができます。
まとめ
いかがだったでしょうか?IF関数は複数条件を設定することができる便利な関数です。条件不一致(偽の値)の処理内容に、次のIF関数の処理を書くことで、複数条件を記述できます。数式の構成こそ複雑なものの、カンマとかっこの数を意識することで記述しやすくなるので、ぜひチャレンジしてみてください。また、Excel2019もしくはOffice365をお使いの方は、処理を簡略化して可読性を高めたIFS関数が利用できるので、そちらもぜひ利用してみてください。