Excelで売上判定、出席管理、在庫確認などを行うとき、「売上が目標以上で、かつ利益率も基準以上なら合格」「担当者が田中さん、または営業部なら対象」といった複数条件の判定が必要になる場面があります。
このような処理では、IF関数だけでなくAND関数やOR関数を組み合わせることで、条件に応じた文字・数値・計算結果を自動表示できます。
複数条件の数式は、条件の優先順位と関数の役割を分けて考えることが、入力ミスを防ぐ重要なポイントです。
複数条件を扱う基本ルール
・すべての条件を満たす判定にはAND関数を使います。
・どれか1つでも条件を満たす判定にはOR関数を使います。
・IF関数の中にAND関数またはOR関数を入れて、表示内容を指定します。
この記事では、1行目に見出しがある表を使いながら、複数条件のIF関数を作る方法を詳しく確認していきましょう。
エクセルで複数条件をIF関数で判定する基本式
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 担当者 | 売上 | 利益率 | 判定 |
| 田中 | 120000 | 18% | 合格 |
| 佐藤 | 90000 | 22% | 要確認 |
それではまず、IF関数に複数条件を組み込む基本的な考え方について解説していきます。
IF関数は、指定した条件が正しい場合と正しくない場合で、表示する内容を切り替える関数です。
基本形はIF関数の条件式、真の場合、偽の場合という順番で構成されます。
IF関数の基本式
=IF(条件,条件を満たす場合,条件を満たさない場合)
IF関数における論理式の役割
IF関数の最初の引数には、TRUEまたはFALSEとして判定できる論理式を入力します。
たとえばB2セルの売上が100000以上かどうかを判定する場合、条件式はB2>=100000です。
=IF(B2>=100000,”達成”,”未達成”)と入力すると、B2が100000以上なら達成、それ以外なら未達成と表示されます。
複数条件では、この最初の条件部分にAND関数やOR関数を入れることが基本になります。
文字列を条件に使う場合は、”営業部”や”田中”のように二重引用符で文字を囲みます。
一方でセル番地や数値は二重引用符で囲まず、そのまま入力しましょう。
複数条件で使う数式の構造
複数条件をIF関数で処理するときは、IF関数が結果の表示を担当し、AND関数またはOR関数が条件の判定を担当します。
たとえば売上が100000以上であり、利益率が15パーセント以上である人を合格にする場合は、2つの条件が必要です。
=IF(AND(B2>=100000,C2>=15%),”合格”,”要確認”)
この式では、B2とC2の条件が両方とも成立したときだけ、AND関数がTRUEを返します。
IF関数はTRUEを受け取るため、D2セルに合格と表示します。
片方でも基準に届かない場合はFALSEとなり、要確認が表示される仕組みです。
数式入力後のオートフィル操作
数式は先頭のデータ行であるD2セルに入力し、下方向へコピーすると効率的です。
コピー先の行に合わせてB2やC2といった相対参照がB3、C3へ自動的に変化します。
数式を手入力で繰り返すより、フィルハンドルを使うほうが参照ミスを減らせます。

【操作のポイント】D2セルの右下にある小さな四角を下へドラッグすると、数式を連続して入力できます。
判定基準だけを固定したい場合は、基準値を別セルに置き、必要に応じて$記号を使った絶対参照を設定しましょう。
AND関数を使ったすべての条件の判定
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 氏名 | 点数 | 出席率 | 合否 |
| 山田 | 78 | 90% | 合格 |
| 鈴木 | 82 | 75% | 不合格 |
続いては、すべての条件を満たす場合に使うAND関数を確認していきます。
AND関数は、指定した条件がすべてTRUEのときだけTRUEを返す関数です。
AND関数の基本式
=AND(条件1,条件2,条件3)
すべての条件が成立するとTRUEになり、1つでも成立しない条件があればFALSEになります。
点数と出席率を同時に判定する数式
たとえば、点数が70点以上で、出席率が80パーセント以上なら合格とする場合を考えます。
D2セルには、次の数式を入力します。
=IF(AND(B2>=70,C2>=80%),”合格”,”不合格”)
B2>=70は点数の条件であり、C2>=80%は出席率の条件です。
山田さんは両方の基準を満たすため合格となります。
鈴木さんは点数が基準以上でも出席率が80パーセント未満なので、AND関数全体ではFALSEになります。
AND関数では、一部の条件だけが合っていても判定は通らない点に注意が必要です。
文字列条件をAND関数に加える方法
数値だけでなく、部署名や担当者名などの文字列もAND関数の条件にできます。
たとえばA列が営業部であり、かつB列の売上が100000以上の場合だけ対象と表示する式を作ることが可能です。
=IF(AND(A2=”営業部”,B2>=100000),”対象”,”対象外”)
文字列の比較では、セルの内容と判定したい語句が完全に一致している必要があります。
営業部の末尾に空白が含まれていると一致しないことがあるため、元データの入力規則も確認しましょう。
文字列の条件は、全角と半角、不要なスペース、表記ゆれによって結果が変わることがあります。
【操作のポイント】部署名などの分類項目は、入力規則のリストで統一すると複数条件の判定が安定します。
AND関数で条件を三つ以上に増やす方法
AND関数には、3つ以上の条件も追加できます。
売上が100000以上、利益率が15パーセント以上、返品数が3件以下という3条件で判定する場合も、条件をカンマでつなぐだけです。
=IF(AND(B2>=100000,C2>=15%,D2<=3),”達成”,”未達成”)
条件の数が増えても、AND関数の考え方は変わりません。
ただし、数式が長くなるほど括弧の閉じ忘れや列の指定間違いが起こりやすくなります。
数式バーで入力内容を確認しながら、条件を1つずつ追加すると安心です。
OR関数を使ったいずれかの条件の判定
| A列 | B列 | C列 |
|---|---|---|
| 部署 | 売上 | 優先判定 |
| 営業部 | 80000 | 優先 |
| 開発部 | 150000 | 優先 |
続いては、どれか1つでも条件を満たせばよい場合に使うOR関数を確認していきます。
OR関数は、複数の条件のうち1つ以上がTRUEなら、全体としてTRUEを返します。
部署または売上基準で対象を判定する数式
営業部に所属している、または売上が100000以上である場合に優先と表示するケースを考えます。
=IF(OR(A2=”営業部”,B2>=100000),”優先”,”通常”)
A2が営業部なら、売上が基準未満でも優先と判定されます。
反対に開発部であっても、B2の売上が100000以上なら優先です。
OR関数は、複数の入口のうちどれかを通ればよい判定に向いています。
キャンペーン対象、割引対象、担当者の振り分けなどで便利に使えるでしょう。
OR関数で複数の文字列を指定する方法
複数の部署や複数の担当者を対象にする場合も、OR関数で文字列条件を並べられます。
営業部または企画部を対象にする場合は、A2の比較を2つ記述します。
=IF(OR(A2=”営業部”,A2=”企画部”),”対象”,”対象外”)
この式は、A2が営業部または企画部なら対象と表示します。
文字列を直接入力する方法は分かりやすい一方で、対象が多すぎる場合には数式が長くなります。
対象一覧が頻繁に変わる業務では、別シートにリストを作る方法も検討するとよいでしょう。
【操作のポイント】OR関数内の条件は、A2=”営業部”のように比較式を1つずつ完結した形で入力します。
OR関数で空白や未入力を確認する方法
入力漏れを確認したい場合にも、OR関数は役立ちます。
たとえば氏名または売上のどちらかが未入力なら入力確認と表示する数式は、次のようになります。
=IF(OR(A2=””,B2=””),”入力確認”,”完了”)
セルが空白かどうかは、セル番地に=””を付けて判定できます。
数値を入力する列でも、未入力判定では空文字列を使うと分かりやすくなります。
ただし、数式で空白に見せているセルと実際に何も入っていないセルでは、判定が異なる場合があります。
AND関数とOR関数を組み合わせる数式
| A列 | B列 | C列 | D列 |
|---|---|---|---|
| 部署 | 売上 | 利益率 | 特別判定 |
| 営業部 | 110000 | 12% | 対象 |
続いては、AND関数とOR関数を一つのIF関数で組み合わせる方法を確認していきます。
複雑に見える数式でも、先に日本語で条件を整理すると構造を把握しやすくなります。
二つの条件グループをOR関数でつなぐ方法
営業部で売上が100000以上、または利益率が20パーセント以上なら対象とする場合を考えます。
前半は営業部かつ売上基準というAND条件であり、後半は利益率基準という単独条件です。
=IF(OR(AND(A2=”営業部”,B2>=100000),C2>=20%),”対象”,”対象外”)
内側のAND関数が前半の条件を判定し、その結果とC2の条件をOR関数が比較します。
括弧の内側から順に読めば、入れ子の数式も理解しやすくなります。
数式を書く前に、営業部かつ売上基準、または利益率基準という文章を作るのがコツです。
複数の選択肢と必須条件を組み合わせる方法
部署が営業部または企画部であり、さらに売上が100000以上の場合だけ対象にすることもできます。
この場合は、部署の選択肢をOR関数にまとめ、それと売上条件をAND関数で結びます。
=IF(AND(OR(A2=”営業部”,A2=”企画部”),B2>=100000),”対象”,”対象外”)
OR関数は部署に関する条件グループ、AND関数は全体で満たすべき必須条件を表します。
条件の意味ごとに関数を分けると、将来の修正も行いやすくなります。
【操作のポイント】先にORで選択肢を作り、その結果をANDの条件として使うと、数式の目的が明確になります。
括弧とカンマを間違えない入力手順
複数関数を組み合わせるときは、関数名を入力して開始括弧を入れ、条件を1つずつ入力します。
条件と条件の間にはカンマを入力し、関数の処理が終わる位置で閉じ括弧を入れます。
Excelでは入力中に色付きの参照範囲や関数の候補が表示されるため、それらも確認しましょう。
数式のエラーは、比較演算子よりも括弧の対応関係が原因になっていることが少なくありません。
長い式は数式バーで改めて見直し、必要ならメモ帳などで条件を文章化してから組み立てる方法も有効です。
IF関数で複数条件を段階判定する方法
| A列 | B列 | C列 |
|---|---|---|
| 氏名 | 点数 | 評価 |
| 高橋 | 92 | A |
| 伊藤 | 74 | B |
続いては、IF関数を重ねて複数の結果を段階的に表示する方法を確認していきます。
評価やランクのように結果が三つ以上ある場合は、IF関数を入れ子にします。
点数を三段階で評価する数式
90点以上をA、70点以上をB、それ以外をCとする場合は、上位の条件から順番に判定します。
=IF(B2>=90,”A”,IF(B2>=70,”B”,”C”))
最初に90点以上かどうかを判定し、該当しない場合だけ次の70点以上という条件に進みます。
段階判定では、最も厳しい条件または最も高い基準から先に書くことが重要です。
70点以上を先に判定すると、90点の人もBとなってしまうため注意しましょう。
AND関数を入れ子のIF関数に使う方法
点数と出席率を使って、優秀、合格、不合格の三段階に分けることもできます。
たとえば点数90以上かつ出席率90パーセント以上を優秀、点数70以上かつ出席率80パーセント以上を合格とします。
=IF(AND(B2>=90,C2>=90%),”優秀”,IF(AND(B2>=70,C2>=80%),”合格”,”不合格”))
最初のAND関数で優秀の条件を確認し、満たさない場合だけ次の合格条件を調べます。
このように、IF関数の中にAND関数を複数回入れることも可能です。
【操作のポイント】段階判定では、上位判定から下位判定へ並べ、条件が重複しない順序に整えます。
IFS関数との使い分け
Microsoft 365や新しいExcelでは、複数の条件を順番に判定するIFS関数も利用できます。
ただし、ANDやORを使う複合条件では、IFS関数の中にもAND関数やOR関数を入れる必要があります。
IF関数は多くのExcelバージョンで使えるため、共有ファイルや互換性を重視する場合にも扱いやすい関数です。
複雑な判定ほど、利用者のExcel環境を考慮して関数を選ぶことが大切です。
複数条件の数式で起こりやすいエラーと確認方法
| A列 | B列 | C列 |
|---|---|---|
| 売上 | 利益率 | 判定結果 |
| 100000 | 15% | 合格 |
続いては、複数条件のIF関数で起こりやすいエラーと確認方法を解説していきます。
数式が正しく見えても、データ形式や参照方法によって期待と違う結果になる場合があります。
文字列と数値の入力形式の確認
数値として扱うべき売上が文字列になっていると、比較演算子による判定が正しく行われないことがあります。
セルの左上に緑色の三角形が表示されている場合は、数値が文字列として保存されている可能性があります。
利益率の条件では、セルに15%と入力する場合と、15と入力する場合で比較する値が変わります。
15パーセントを判定基準にする数式では、通常は15ではなく15%と入力します。
表示形式だけでなく、セルに保存されている実際の値を確認する習慣が大切です。
相対参照と絶対参照の使い分け
判定基準を別セルに入力している場合、数式をコピーすると基準セルまでずれてしまうことがあります。
たとえばF1セルに売上基準を入力し、B2の売上と比較する場合を考えます。
=IF(B2>=$F$1,”達成”,”未達成”)
$F$1と指定すると、下方向や横方向へ数式をコピーしても基準セルはF1のままです。
一方でB2は各行の売上を参照する必要があるため、相対参照のままにします。
【操作のポイント】F4キーを押すと、選択中のセル参照を相対参照と絶対参照の形式で切り替えられます。
数式エラーの原因を切り分ける方法
数式に#VALUE!や#NAME?などのエラーが表示された場合は、関数名、括弧、カンマ、引用符を順番に確認します。
#NAME?は関数名のスペルミスや、文字列を二重引用符で囲んでいないときに起こりやすいエラーです。
#VALUE!は、文字列と数値の比較や、想定外のデータ型が含まれている場合に表示されることがあります。
長い数式を一度に完成させず、まずAND関数またはOR関数だけをセルに入力して結果を確認する方法が有効です。
関数単体でTRUEまたはFALSEが期待どおりに出ることを確認してから、IF関数へ組み込みましょう。
まとめ エクセルでIF関数の複数条件を判定する方法
| 判定内容 | 使う関数 | 考え方 |
|---|---|---|
| すべて満たす | AND | 条件が全部TRUE |
| どれかを満たす | OR | 1つ以上がTRUE |
| 結果を表示する | IF | TRUEとFALSEで表示を分ける |
エクセルで複数条件をIF関数で判定するときは、すべての条件を満たすならAND関数、どれか1つでも満たせばよいならOR関数を選びます。
基本となる数式は、=IF(AND(条件1,条件2),”結果1″,”結果2″)または=IF(OR(条件1,条件2),”結果1″,”結果2″)です。
より複雑な条件では、AND関数とOR関数を組み合わせたり、IF関数を入れ子にしたりできます。
条件を日本語で先に整理し、上位条件から順に組み立てると、数式の意図が分かりやすくなります。
セルのデータ形式、文字列の引用符、括弧の対応、相対参照と絶対参照も確認しながら、実務で使いやすい判定表を作成していきましょう。