ExcelのIF関数で複数条件を指定する方法とは?|AND/OR/IFSの使い分けを完全解説
Excelで複数の条件を設定しようとした際、IF関数が何重にも入れ子(ネスト)になって数式が複雑化し、困ったことはありませんか。
「AND関数とOR関数、どう使い分ければいいの?」
「IFS関数のほうがシンプルって聞いたけど、本当にそうなの?」
そう思われる方もいらっしゃるのではないでしょうか。ExcelのIF関数は単独でも強力ですが、AND・OR・IFSといった関数と組み合わせることで、複雑な判断業務を自動化できる強力なツールへと進化します。
今回は、IF関数で複数条件を扱うための3つの手法(AND/OR関数との組み合わせ・IFのネスト・IFS関数)を、実例を交えて徹底解説します。この記事を最後まで読んで頂くと、どの関数を選べばよいか迷うことなく、状況に適した数式を自信を持って組み立てられるようになることを実感頂けると思います。
- ExcelのIF関数を使っているが、複数条件の指定に自信がない方
- AND関数・OR関数・IFS関数の使い分けが分からない方
- 手作業の判定業務をExcelで自動化したい方
ExcelのIF関数で複数条件を指定する3つの基本パターンについて
ExcelのIF関数で複数の条件を扱うには、主に3つの方法があります。どの方法が適しているかは、設定したい条件の複雑さや使用しているExcelのバージョンによって決まります。
一つ目はAND関数やOR関数をIF関数と組み合わせる手法、二つ目はIF関数を入れ子(ネスト)にする方法、三つ目は新しいバージョンのExcelで利用できるIFS関数を用いる方法です。それぞれの特徴を正しく理解することが、効率的な数式作成の第一歩となります。
① 条件の組み合わせ|AND関数・OR関数をIF関数と組み合わせる
複数の条件を同時に満たす必要があるか、いずれか一つを満たせばよいかによってAND関数とOR関数を使い分けます。例えば「国語が80点以上かつ数学も80点以上」ならAND関数、「国語が80点以上または数学が80点以上」ならOR関数をIF関数に組み込みます。2つ程度の条件を組み合わせる際に有効で、論理構造が明確になるのがメリットです。
② 多段階の分岐|IF関数のネスト(入れ子)で条件を深くする
3つ以上の結果に分岐させる場合は、IF関数のネスト構造を用います。IF関数の「偽の場合」の引数に新しいIF関数を記述し、条件分岐の階層を増やしていく手法です。例えば、成績を「優・良・可」の3段階で評価する場合などに活用できます。ただし、ネストが深くなると数式が長くなり、可読性が低下する点に注意が必要です。
③ シンプルな多条件記述|IFS関数(Excel 2019/365以降)を使う
Excel 2019やMicrosoft 365では、IFS関数が有力な選択肢となります。IF関数のネストを必要とせず、複数の条件と対応する結果をペアで記述できます。数式がフラットな構造になり、IFのネストに比べて直感的で理解しやすい点が大きな利点です。条件が3つ以上になる場合、管理のしやすさからIFS関数の使用が推奨されます。
「かつ」の条件設定|AND関数の使い方について
複数の条件がすべて満たされていることを判定するには、AND関数を使います。IF関数と組み合わせることで、「条件Aも条件Bも両方満たす場合」といった実務で頻出する処理を効率的に実行できます。
① 基本構文と引数のルール|AND関数の仕組みを理解する
AND関数をIF関数と組み合わせる際の基本構文は、「=IF(AND(論理式1, 論理式2, …), 真の場合, 偽の場合)」です。AND関数の括弧内に判定したい条件式をカンマで区切って指定します。すべての論理式が正しい場合に「真の場合」の値が返され、一つでも誤りがあれば「偽の場合」の値が返ります。
Excel 2007以降では、論理式を255個まで設定できます。
② 実例|「点数80点以上」かつ「出席率90%以上」の場合に合格と判定する
研修の評価で、B列に点数、C列に出席率が入力されているとします。合格基準が「点数80点以上かつ出席率90%以上」の場合、D2セルに合否を表示させる数式は以下のとおりです。
=IF(AND(B2>=80, C2>=0.9), “合格”, “不合格”)
この数式は、B2セルの点数とC2セルの出席率の両方が基準を満たした場合にのみ「合格」と表示します。
③ 3つ以上の条件をANDでつなぐ際の注意点
AND関数は3つ以上の条件を組み合わせる場合にも使えます。例えば「点数80点以上」「出席率90%以上」「レポート提出済み(D列)」の3条件をすべて満たす必要がある場合、数式は次のとおりです。
=IF(AND(B2>=80, C2>=0.9, D2=”提出済み”), “合格”, “不合格”)
AND関数の引数に判定したい論理式をカンマで追加することで、条件をいくつでも増やすことができます。
「または」の条件設定|OR関数の使い方について
複数の条件のうち、少なくとも一つを満たせばよい場合はOR関数を使います。IF関数と組み合わせることで、「条件Aまたは条件Bを満たす場合」といった柔軟な条件分岐が可能になります。
① 基本構文と仕組み|OR関数がTRUEを返す条件を理解する
OR関数をIF関数と組み合わせる際の基本構文は、「=IF(OR(論理式1, 論理式2, …), 真の場合, 偽の場合)」です。論理式のうち一つでも正しければ「真の場合」の値が返され、すべてが誤りの場合にのみ「偽の場合」の値が返ります。Excel 2007以降では、255個までの条件を設定できます。
② 実例|「A評価」または「B評価」なら合格と判定する
製品の品質検査で、総合評価(A2セル)が「A評価」または「B評価」の場合に合格とするケースを例に挙げます。このとき、B2セルに合否を判定する数式は以下のとおりです。
=IF(OR(A2=”A評価”, A2=”B評価”), “合格”, “不合格”)
A2セルの値が指定したどちらかの評価と一致すれば「合格」と表示します。
③ 応用|AND関数とOR関数を組み合わせた複雑な条件設定
AND関数とOR関数を組み合わせると、より複雑な判定が可能になります。例えば「科目Aが80点以上、かつ、科目Bまたは科目Cのどちらかが80点以上」の場合に「特別クラス」と認定するケースでは、数式は次のとおりです。
=IF(AND(B2>=80, OR(C2>=80, D2>=80)), “特別クラス”, “通常クラス”)
このように、AND・OR関数を入れ子にすることで、実務の複雑な判断基準も数式で表現することができます。
3つ以上の条件で結果を分岐させる方法について
3つ以上の条件でそれぞれ異なる結果を返すには、IF関数のネストやIFS関数が役立ちます。これらの手法を使えば、複雑な評価基準や料金体系なども自動化することができます。
① IF関数のネスト|多段階分岐の数式を組み立てるコツ
IF関数のネストは、「偽の場合」の引数に新しいIF関数を記述して条件分岐の階層を深くする手法です。例えば、点数(B2セル)に応じて「80点以上なら優」「60点以上なら良」「それ以外は可」と3段階評価する数式は以下のとおりです。
=IF(B2>=80, “優”, IF(B2>=60, “良”, “可”))
ネスト構造を作る際は、範囲が狭い条件から順に判定すると数式を組み立てやすくなります。Excel 2007以降では64レベルまでネストできますが、可読性を考慮すると数段階に留めるのが賢明です。
② IFS関数|基本構文と「TRUE」を使ったその他設定について
IFS関数はIF関数のネストをシンプルに記述できる関数で、Excel 2019やMicrosoft 365で利用できます。基本構文は「=IFS(論理式1, 真の場合1, 論理式2, 真の場合2, …)」で、左から順に評価し、最初に真と判定された条件に対応する値を返します。成績評価の例では以下のように記述します。
=IFS(B2>=80, “優”, B2>=60, “良”, TRUE, “可”)
最後の「TRUE」は「どの条件にも当てはまらない場合」を意味し、IFネストの最後の「偽の場合」と同じ役割を果たします。IFのネストより直感的で、条件が増えても管理しやすいのが大きな利点です。
③ 比較|ネストとIFS関数、どちらを使うべきかの判断基準
「IFのネスト」か「IFS関数」かの選択は、主にExcelのバージョンで決まります。IFS関数はExcel 2019以降でしか利用できないため、古いバージョンとの互換性が必要な場合はIFのネストを使います。互換性の問題がなく、条件分岐が3つ以上あるなら、可読性とメンテナンス性に優れるIFS関数の利用が合理的です。
実務を効率化する応用テクニックについて
IF関数を他の関数と連携させると、より実務的な条件指定が可能になり、業務自動化の範囲がさらに広がります。
① 文字列・空白の条件設定|「空白ではない」や「特定の文字を含む」を指定する
IF関数は、セルが空白かどうかや特定の文字列と一致するかなどを条件に設定することができます。例えば、提出物のチェックリストで、提出日が入力されているセルに「完了」と表示させる処理が考えられます。これらの条件をAND関数やOR関数と組み合わせれば、複数の入力項目を一度に検証するデータチェックも自動化できます。
② VLOOKUP関数との連携|検索結果を条件に処理を分岐させる
VLOOKUP関数などの検索関数とIF関数を組み合わせることで、検索結果を基に処理を分岐させることができます。検索結果に応じて表示するメッセージを変えたり、適用する計算式を切り替えたりするなど、高度な仕組みを構築することが可能です。
③ 日付・期間の条件設定|DATEVALUE関数を活用した期間判定
IF関数は日付データも直接比較でき、「契約終了日を過ぎたらアラートを表示する」といった処理が可能です。DATEVALUE関数のように日付文字列をシリアル値に変換する関数と組み合わせれば、より柔軟な期間判定を条件式に組み込むことができます。
数式の可読性とメンテナンス性を高める運用のコツについて
複雑な条件分岐を持つ数式は、後日の修正や他者との共有を考慮し、可読性とメンテナンス性を高める工夫が重要です。
① 数式内の改行・インデント|Alt+Enterで視覚的に整理する
長い数式は、数式バー内で「Alt+Enter」キーを押して改行すると読みやすくなります。IF関数の条件・真の場合・偽の場合の前で改行し、インデント(字下げ)を活用すると、数式の論理構造を視覚的に理解しやすくなります。
② 名前の定義|セル番地を分かりやすい名前に置き換える
セル番地を直接使うと数式が分かりにくくなる場合、「名前の定義」機能が役立ちます。例えば、消費税率のセルに「消費税率」と名前を付ければ、「A1B1」ではなく「売上消費税率」のように記述できます。数式の意図が格段に分かりやすくなり、メンテナンス性も向上します。
③ 対応表の活用|条件が多すぎる場合の代替アプローチ
条件分岐が10や20を超えるなど非常に多い場合、数式での管理は現実的ではありません。その場合は、シート上に「条件」と「結果」の一覧表を作成し、検索関数で結果を取り出す方法が有効です。条件や結果の追加・修正は表のメンテナンスだけで済むため、管理が格段に容易になります。
エラーの原因と対処法について
複数条件を指定した複雑な数式では、エラーが発生することがあります。代表的なエラーの原因と対処法を解説します。
① #VALUE!エラー|データ型の不一致が原因の場合
「#VALUE!」エラーは、引数のデータ型が正しくない場合に表示されます。例えば、数値であるべきセルに文字列が入力されており、そのセルを計算に使った場合などです。比較対象のセルに意図しない文字列やエラー値が含まれていないか、データ型が正しいかを確認してみてください。
② #NAME?エラー|スペルミスやバージョン未対応が原因の場合
「#NAME?」エラーは、Excelが数式内の文字列を関数名として認識できない場合に表示されます。主な原因は関数名のタイプミスや、文字列をダブルクォーテーション(”)で囲み忘れることです。また、IFS関数のような新しい関数を古いバージョンのExcelで開いた際にも表示されます。
③ #N/Aエラーの回避|IFERROR関数との組み合わせ
検索関数とIF関数を組み合わせた際、検索対象が見つからないと「#N/A」エラーが表示されることがあります。数式全体をIFERROR関数で囲むことで、エラー時の表示内容をコントロールできます。
④ 括弧の対応が分からなくなった時の確認法
IF関数を深くネストすると、閉じ括弧の数が合わないエラーが頻発します。数式入力時にExcelが括弧のペアを色分け表示する機能を活用するとよいでしょう。また、エラー時に最後の閉じ括弧が黒色になっているかを確認するのも有効な対処法の一つです。
ExcelのIF関数・複数条件に関するよくある質問(Q&A)について
ExcelでIF関数を使って複数の条件を指定する際のよくある質問と回答をまとめます。
- IF関数のネストは最大何個までできますか?
-
Excel 2007以降では、IF関数を最大64レベルまでネストできます。ただし、これは技術的な上限値であり、実用的ではありません。ネストが深くなると数式が複雑化し、可読性やメンテナンス性が大きく低下します。多くの条件分岐が必要な場合は、IFS関数の利用を検討するとよいでしょう。
- IFS関数が使えない古いExcel環境での代替案はありますか?
-
IFS関数はExcel 2019以降で利用できるため、Excel 2016以前のバージョンでは「#NAME?」エラーが表示されます。古い環境で同様の多条件分岐を行う際の代替案は、IF関数をネストすることです。互換性が必要なファイルを扱う際は、IFのネスト構造が標準的な解決策となります。
- ワイルドカードを使って曖昧な条件を指定できますか?
-
特定の文字列を含むかどうかなどの曖昧な条件は、他の関数とIF関数を組み合わせることで指定できます。アスタリスク(*)などのワイルドカードを活用し、「Aで始まる」「Bを含む」といった柔軟な文字列検索を条件分岐に組み込むことが可能です。
まとめ | IF関数の複数条件をマスターして、Excel業務をもっと効率化しよう!
本記事では、ExcelのIF関数で複数条件を指定する「AND/OR関数との組み合わせ」「IFのネスト」「IFS関数」の3手法を、実例を交えて解説しました。どの手法を選ぶかは、条件の複雑さとExcelのバージョンによって決まります。
とはいえ、「関数が多すぎて、どれを使えばいいか迷ってしまう」と感じる方もいらっしゃるかもしれません。そんな時こそ「まずは一つの手法を実際の業務で試してみること」が大切だと思います。実際に手を動かすことで、各関数の使い心地や使い分けの感覚を自然と身につけることができるはずです。
2026年の今、ExcelのAI機能や自動化ツールはますます進化しています。IF関数をはじめとする基本関数をしっかりマスターすることで、あなたのExcelスキルは「なんとなく使える」から「業務を自在に自動化できる」レベルへと進化していくでしょう!
最後まで読んで頂き有難うございます。

