IF関数で「複数条件を3つ」と検索したのに、思った通りに判定できない――その原因は、ほとんどの場合「3つ」の意味が混ざっていることにあります。条件が3つあるのか、それとも結果を3段階以上に分けたいのかで、正解の書き方はまったく変わります。
本記事では、まずこの混乱を最短で整理したうえで、条件が3つ以上のときはAND/ORでまとめる方法、分岐が3つ以上のときは入れ子IF・IFSで振り分ける方法を、コピペできるテンプレ付きで詳しく解説します。さらに、判定がズレる原因になりやすい条件順・境界値・空白・型の違いまでチェックリスト化し、「式が長くなるほど壊れやすい」状態から抜け出せる構成にしました。
読み終える頃には、目の前の式が直るだけでなく、次に条件が増えても自力で拡張できるようになります。
※本コンテンツは「記事制作ポリシー」に基づき、正確かつ信頼性の高い情報提供を心がけております。万が一、内容に誤りや誤解を招く表現がございましたら、お手数ですが「お問い合わせ」よりご一報ください。速やかに確認・修正いたします。
IF関数で複数条件3つと言うときに最初に整理すること
条件が3つなのか分岐が3つ以上なのか
まず最初に、検索キーワードに含まれる「3つ」が何を指しているのかを整理いたします。ここを曖昧なまま進むと、途中で式の方針が変わってしまい、かえって混乱が増えます。
1) 条件が3つあるケース(AND/ORでまとめたい)
こちらは「判定の材料となる条件が3つ以上ある」状況です。代表例としては次のようなものがあります。
「部署が営業」かつ「地域が東京」かつ「売上が100以上なら対象」
「フラグがA」または「フラグがB」または「フラグがCなら対象」
「期限内」かつ「入金済み」かつ「書類OKなら完了」
この場合は、IFを増やしていくのではなく、IFの中の論理式(条件式)を強化するのが基本戦略です。つまり、IFは1つのまま、ANDやORで条件を束ねていきます。
2) 分岐が3つ以上あるケース(多段階に振り分けたい)
こちらは「結果の種類が3つ以上ある」状況です。代表例は次のようなものです。
点数に応じて「A / B / C / その他」に振り分ける
納期の状態で「期限内 / 期限間近 / 遅延」に分ける
金額帯で「高 / 中 / 低」に分類する
この場合、IF単体では二択(TRUEのときとFALSEのとき)しか返せないので、分岐を増やしたいなら以下のどちらかが必要になります。
入れ子IF(FALSE側に次のIFを置く)
IFS(条件と結果をペアで並べる)
「条件が3つ」と「分岐が3つ」は似ているようで、設計上の考え方がかなり違います。この記事では両方をカバーしますが、あなたが今作りたい式がどちらなのかを意識しながら読むと理解が速くなります。
ExcelとGoogleスプレッドシートで共通する考え方
ExcelとGoogleスプレッドシートは、関数名が同じでも細部が違うことがあります。ただし、IF/AND/OR/IFSの核となる考え方は共通で、ここを押さえておけば「場所が変わっても応用できる」状態になります。
IFの基本:条件がTRUEならA、FALSEならB
IFは「論理式」を評価して、TRUEなら第2引数、FALSEなら第3引数を返します。ここで重要なのは、論理式が最終的にTRUE/FALSEに評価されることです。つまり、ANDやORを組み合わせても最終的にTRUE/FALSEさえ返せれば、IFは問題なく動作します。
IFSの基本:上から順に見て最初に当たった結果を返す
IFSは多段分岐を読みやすく書くための関数で、条件と結果をペアで並べます。重要な性質は「上から順に評価され、最初にTRUEになったペアの結果が返る」ことです。これは入れ子IFでも同じで、多段判定では順番がそのまま優先順位になります。
多段判定の事故の9割は「順番」と「境界値」
現場で一番多いトラブルは、構文ミスというよりも「意図しない判定になっている」ことです。たとえば80点以上を合格にしたいのに、70点以上の条件を先に置いたせいで80点も70点側に吸い込まれてしまう、というタイプです。これを防ぐには、次の視点が役立ちます。
広い条件より狭い条件を先に書く(厳しい条件から並べる)
境界値(>= と >、<= と <)を明確にする
必要なら最後に「その他」を用意する(想定外を受け止める)
この考え方を前提に、次から具体的なテンプレートへ進みます。
IF関数で条件を3つ以上にする書き方
ANDで3条件すべて満たす場合のテンプレ
ANDは「すべての条件がTRUEのときだけTRUE」を返します。つまり、「AかつBかつC」という関係を作るのに最適です。条件が3つに限らず、4つでも5つでも、ANDの中に条件式を増やしていけば対応できます。
テンプレート(基本形)
たとえば、A2が「営業」、B2が「東京」、C2が100以上なら「対象」、それ以外は「対象外」にしたい場合は次の形になります。
ここで重要なのは、ANDの中に入れるのは「値」ではなく「条件式」であることです。A2=”営業” という比較は、評価するとTRUEかFALSEになります。B2=”東京” も同様です。C2>=100 もTRUE/FALSEです。そしてANDは、それらが全部TRUEならTRUEを返すので、IFの条件としてそのまま使えます。
よくある拡張例:条件が増えたらANDに足す
「さらにD2が空白ではないこと」「E2が“完了”であること」など条件が増えた場合も、基本的にはANDの中に並べていくだけです。
ただし、条件が増えすぎると可読性が落ちるため、後述する「部分式を単体で確認する手順」や「チェックリスト」を併用すると運用が安定します。
ANDで詰まりやすいポイント
カンマの位置(条件と条件の区切り)
文字列のダブルクォーテーションの閉じ忘れ
空白判定の書き方(”” と <>”” の混同)
数値の比較で「数値が文字列になっている」ケース
これらは後半の「よくあるミスと直し方」でまとめて扱います。
ORで3条件のどれか満たす場合のテンプレ
ORは「どれか1つでもTRUEがあればTRUE」を返します。「AまたはBまたはC」という関係を作るときに使います。
テンプレート(基本形)
例として、A2が「至急」またはB2が「重要」またはC2が「本日」なら「優先」、それ以外は「通常」にしたい場合は次のようになります。
ORの特徴は、条件のどれかが成立した時点でTRUEになるため、「例外条件」や「特例ルール」を盛り込みやすいことです。
ORでよくある用途:複数候補の一致判定
「地域が東京・神奈川・千葉のどれかなら対象」のように、同じ列を複数候補で判定したい場合にも使います。
この形は、見た目が単純でも実務で非常に出番が多いです。
ANDとORを混ぜるときの型
現場で最も混乱しやすいのが、ANDとORの混在です。ここは「型」を覚えると、事故が激減します。
典型パターン:大枠はOR、条件の塊はAND
例:「売上が1250万以上なら対象」または「地域が南部で、売上が1000万以上なら対象」としたい場合、自然な読みとしては次の構造になります。
条件その1:売上が1250万以上
条件その2:地域が南部 AND 売上が1000万以上
これをそのまま関数に落とすと、ORの中にANDを入れる形になります。
ここでのコツは、先に日本語で条件を分解し、「ORで並べる単位」を決めてから式にすることです。いきなり関数で組み立てようとすると括弧が増えて混乱しがちです。
もう一歩:ORの中にANDの塊を複数置く
たとえば「A条件」または「B条件とC条件」または「D条件とE条件」のように例外が複数ある場合も、同じ構造で増やせます。
この形式を覚えると、「例外が増えた」「特例が増えた」状況でも崩れにくい式が作れます。
文字列一致と数値比較と空白判定のコツ
「複数条件」では構文よりも、データの癖で誤判定することが多いです。ここでは特に事故が多い3点を整理します。
1) 文字列一致:見た目が同じでも一致しない
A2=”営業” のような判定は分かりやすい反面、次のような理由で一致しないことがあります。
入力に全角スペースや半角スペースが混ざっている
表記ゆれ(営業部、営業など)
データが別システムから貼り付けられて不可視文字が混入
この場合、式側で無理やり吸収するより、データを整える(入力規則・置換・別列で整形)方が長期的に安定します。ただし急ぎなら、TRIM相当の方法で空白を除去するなどの対策もあります(環境により関数が変わるため、運用ルールを決めるのが無難です)。
2) 数値比較:>= と > を混同しない
点数判定や金額判定でよくあるのは、境界値の扱いミスです。80点以上を合格にしたいなら「>=80」です。「>80」にすると80点が漏れます。こうした境界値は、実際にセルへ「80」「79」「81」を入力して動作確認すると一発で気づけます。
3) 空白判定:未入力を先に処理すると安定する
実表では、未入力が混ざることが普通です。未入力の状態で判定を走らせると、意図しない結果になったり、後続処理でエラーになることがあります。そこでおすすめなのが、最初に空白を処理する方法です。
例:C2が空欄なら空欄を返し、それ以外で3条件判定する
「入力が揃ったら判定する」という設計にできるため、運用のストレスが減ります。
IF関数で結果を3つ以上に分ける方法
入れ子IFで3段階にするテンプレ
入れ子IFは「IFのFALSE側に次のIFを書く」ことで多段分岐を作ります。見た目は長くなりますが、仕組みが単純なので、どの環境でも使いやすいのが利点です。
3段階の基本形
例:点数が80以上なら「合格」、70以上なら「再検査」、それ以外は「不合格」
この式を日本語に戻すと以下の流れです。
もしC3>=80なら「合格」
そうでなければ、もしC3>=70なら「再検査」
それでもなければ「不合格」
分岐が増えたら、同じようにFALSE側へIFを足していきます。ただし、増やしすぎると可読性が急激に落ちるため、後述のIFSの検討や、判定表(別表)化の検討も価値があります。
4段階以上へ拡張する例
例:90以上A、80以上B、70以上C、それ以外D
この形は覚えやすい反面、括弧の対応ミスが起きやすいので、次の見出しで対策します。
条件の順序を間違えない設計
多段分岐で最も重要なのが条件の順序です。ここを間違えると、式自体はエラーなく動くのに結果が間違う、という厄介な状態になります。
なぜ順序が重要なのか
入れ子IFでもIFSでも、上から評価していき、最初に当たった条件で確定します。つまり「70以上」を先に書いたら、80以上の人も70以上に含まれてしまいます。
悪い例(80点が再検査になる)
この式では、80点はまずC3>=70がTRUEなので、その時点で「再検査」が返り、合格判定まで到達しません。
良い例(厳しい条件から)
順序設計の鉄則
「上位ランク」や「高い閾値」から書く
範囲が重なる条件は、より狭い範囲を上に置く
境界値はテストデータで確認する(閾値そのものを入力する)
この鉄則だけで、多段判定の誤判定は大きく減ります。
括弧ミスを減らす書き方
入れ子IFの最大の敵は括弧ミスです。これを減らすために、運用上有効な手順を紹介します。
1) 内側から作って外側へ包む
いきなり最終形を作るのではなく、まず「末端のIF」を作ります。
末端:
次にそれをFALSE側に組み込みます。
さらに外側を足します。
段階的に作ると括弧が壊れにくいだけでなく、途中段階で結果を確認できるため、誤判定も早期に発見できます。
2) 可能なら改行して読む
Excelの数式バーや、別エディタに貼って改行するなど、見やすく整形すると、括弧の対応が見えやすくなります。チーム運用なら「改行して共有する」「式はメモ欄に整形して残す」などのルールを決めると引き継ぎが楽になります。
IFS関数で3つ以上の条件分岐を読みやすくする
IFSの基本構文と動き
IFSは、多段分岐を「条件→結果→条件→結果…」のペアで書ける関数です。入れ子IFのように括弧が入れ子にならないため、見た目の読みやすさが大きく改善します。
基本形
例:A1が90超ならA、80超ならB、70超ならC
この式は「上から順に条件を試し、最初にTRUEになった結果を返す」という動きです。入れ子IFと同様に、順序が重要です。
使う上での注意点
IFSは便利ですが、運用上は次の点に注意が必要です。
どれにも当てはまらない場合の扱い(エラーになり得る)
Excelの環境によっては利用可否が分かれる場合がある
条件が重なる場合、上にある条件が優先される
この注意点を押さえれば、入れ子IFよりも保守性が高い式を作りやすくなります。
IFSに向く場面と入れ子IFに向く場面
ここでは、どちらを選ぶべきかを実務目線で整理します。
IFSが向く場面
3段階以上の判定が頻繁に登場する
後から条件が増える可能性が高い
チームで見直すため、式の可読性を重視したい
括弧ミスを避けたい
IFSは条件と結果が並ぶため、どの条件でどの結果になるのかが目で追いやすいです。
入れ子IFが向く場面
分岐が基本二択で、一部だけ多段になる
使う環境が限定され、IFSが使えない可能性がある
一度作ったら条件追加がほとんど起きない
IFの基本形の理解を深めたい(教育目的)
入れ子IFは古くから広く使われ、どの環境でも安定しやすいのが強みです。ただし多段になるほど保守が難しくなります。
迷ったときの判断基準
3段階以上が常態化:IFSを優先検討
2段階が中心:IF+AND/OR、必要なら少しだけ入れ子
環境差がある:入れ子IFのテンプレも併記しておく
該当なしを用意してエラーを防ぐ考え方
IFSの落とし穴は「どれにも当てはまらない」ケースです。入れ子IFなら最後のFALSE側に結果を置けますが、IFSは最後まで条件がTRUEにならなければ、エラーになる場合があります。そこで有効なのが「最後に必ずTRUEになる条件を置く」方法です。
典型形:最後にTRUEを置いて受け皿にする
この式は、最後にTRUEがあるため、どんな値が来ても必ずどれかの結果を返します。実務では「その他」「該当なし」「要確認」「未分類」など、運用に合わせた文言を入れておくと便利です。
受け皿を用意するメリット
想定外データが混ざっても表が崩れない
後続の集計やフィルタがエラーで止まらない
「未入力」や「異常値」を可視化できる
とくに共有シートでは、入力の揺れが避けられないため、最後の受け皿は保険として非常に有効です。
IF関数の複数条件でよくあるミスと直し方
判定がズレる原因は条件順と境界値
誤判定の原因は大きく2つに集約されます。式が動いているのに結果が違うときは、この2点を最優先で疑うと復旧が速いです。
1) 条件順のミス
多段判定では、上にある条件が優先されます。したがって「広い条件」を先に置くと、後ろの条件が永遠に評価されないことがあります。例として、70以上を先に書くと80以上の判定が潰れる、というのは典型です。
対策は単純で、「厳しい条件から書く」を徹底し、境界値でテストします。
2) 境界値のミス
= と >、<= と < の違いは小さく見えますが、判定に直結します。境界値のセル(80、90など)を実際に入力して、狙い通りの結果になるかを必ず確認します。これだけで、現場の「なんかズレる」をかなり潰せます。
#N/Aや#VALUE!が出るときの確認リスト
エラーが出た場合、闇雲に式を触るより、チェックリストで潰すほうが速く確実です。特に「複数条件+多段分岐」は要素が多いので、上から順に確認するだけで原因が見つかりやすくなります。
エラー確認チェックリスト
ダブルクォーテーションが開いたままになっていないか
例:"対象のように閉じ忘れがあると構文エラーになります。カンマ区切りが崩れていないか
条件が増えるほど、カンマの入れ忘れ・余計なカンマが起きます。括弧の数が合っているか
入れ子IFは特に要注意です。比較対象が正しい型か
数値の比較をしているつもりが、文字列になっていると意図しない結果になります。まずAND/OR部分だけを単体で評価してTRUE/FALSEが出るか
条件式が壊れているのか、IFの組み方が壊れているのかを切り分けられます。
この確認で原因箇所がだいたい絞れます。
まずは部分式を単体で確認する手順
長い式を一気に直そうとすると、どこで壊れているのか分からなくなり、試行錯誤が増えます。そこでおすすめなのが「分解してテストする」手順です。
手順1:AND/ORだけを単体で確認する
例:次の式をセルに入れてみます。
結果がTRUE/FALSEで返れば、条件式は少なくとも構文的に成立しています。意図と違うなら、条件内容(文字列、境界値、空白)を見直します。
手順2:IFで包む
条件式が確認できたら、IFに戻します。
ここで意図通りなら、次の拡張へ進みます。
手順3:多段なら一段ずつ足す
入れ子IFならFALSE側へ1段ずつ追加、IFSなら条件ペアを1つずつ追加して、その都度テストします。段階的に増やすと、壊れた瞬間が分かるため、原因箇所が特定しやすいです。
IF関数の複数条件3つで使える例文集
ランク判定の例
点数を「A / B / C / その他」に分けるのは、多段分岐の代表例です。入れ子IFとIFSの両方を用意しておくと、環境差がある場合にも対応できます。
入れ子IF版
この形は分かりやすい一方、条件が増えると括弧が増えて保守が難しくなります。条件追加が想定されるなら、IFSの方が見通しが良くなります。
IFS版(受け皿つき)
最後のTRUEを置くことで、どんな値でも必ず結果が返り、表がエラーで壊れるのを防げます。
ステータス振り分けの例
実務で多いのは、複数条件を満たしたら「完了」、満たさないなら「要確認」という形です。ここでは条件が3つの例を示します。
例:「期限内」かつ「入金済み」かつ「書類OK」なら完了
この式は、条件が3つでもシンプルです。条件が増えるならANDに追加するだけで拡張できます。
運用上は、未入力が混ざる可能性が高いので、必要に応じて空白判定を先に置くとより安定します(例:D2が空欄なら空欄を返す、など)。
割引と送料無料判定の例
割引や送料判定は、ANDとORの混在が出やすい分野です。例として、次のルールを考えます。
会員である
購入額が5000以上である
地域が東京・神奈川・千葉のいずれかである
この3つをすべて満たしたら送料無料、満たさないなら送料あり。
式は次の形になります。
ここでは大枠がANDで、その中の地域判定にORが使われています。「送料を無料にするには、会員かつ金額条件かつ対象地域」という日本語を、そのまま関数構造に落としているのがポイントです。
この型を覚えると、たとえば「沖縄は除外」「大型商品は除外」など例外条件が増えても整理しやすくなります。
Excelとスプレッドシートでコピペしやすい形
最後に、迷ったときに素早く方針決定できるよう、考え方を整理しておきます。
1) 条件が増えた場合
IFを増やすのではなく、IFの中でAND/ORを使って条件式を強化する
条件が3つでも5つでも、AND/ORの中に足していけばよい
空白や未入力があるなら、先に空白判定を置く
2) 分岐が増えた場合
3段階以上ならIFSを優先検討する(読みやすく、拡張しやすい)
環境差がある場合は入れ子IFのテンプレも用意しておく
順序は「厳しい条件から」、最後に「その他」などの受け皿を置くと安全
3) エラーや誤判定が出た場合
まず条件順と境界値を疑う
次にAND/OR部分を単体で評価し、TRUE/FALSEを確認する
長い式は一段ずつ組み立て、壊れた地点を特定する