Excelを使っていて、「AかつBの両方を満たすときだけ〇を表示させたい」とか、「AかBのどちらか片方でも満たしていれば合格にしたい」という場面に遭遇したことはありませんか。
単一の条件であればIF関数だけで十分ですが、実務で扱うデータはもっと複雑です。「売上が100万円以上」かつ「利益率が10%以上」という2つの条件を同時に満たして初めて「目標達成」と判定したい、といったケースが当たり前にあるからです。
このような「複数の条件を組み合わせて判定させる」ために欠かせないのが、AND関数とOR関数です。
この2つの関数は、単体で使うよりもIF関数などの他の関数の中に組み込んで使うことで、真価を発揮します。今回は、Excel初心者の方が迷いやすいAND関数とOR関数の違いから、具体的な組み合わせ方までを丁寧に解説します。
AND関数とは?「すべての条件を満たす」判定に使う
AND(アンド)関数は、指定したすべての条件が「正しい(真)」である場合にのみ「TRUE(真)」を返し、一つでも「正しくない(偽)」条件があれば「FALSE(偽)」を返す関数です。
簡単に言うと、「~であり、かつ~である」という厳しい条件を課したいときに使います。
AND関数の基本構成
AND関数の書き方は非常にシンプルです。
`=AND(条件1, 条件2, [条件3], …)`
カッコの中にカンマで区切って条件を並べていくだけです。最大255個までの条件を指定できます。
具体的な活用シーン
例えば、以下のような条件で判定したい場合を考えてみましょう。
- 条件1:出席率が80%以上である
- 条件2:テストの点数が70点以上である
この2つをどちらも満たしている人だけを「合格」としたい場合、AND関数を使います。
`=AND(B2>=0.8, C2>=70)`
もしB2セル(出席率)が0.9(90%)で、C2セル(点数)が80点であれば、両方の条件を満たしているため、結果は「TRUE」となります。しかし、点数が60点だった場合は、出席率が高くても片方の条件を満たさないため、結果は「FALSE」になります。
OR関数とは?「どれか一つの条件を満たす」判定に使う
一方で、OR(オア)関数は、指定した条件のうちどれか一つでも「正しい(真)」であれば「TRUE(真)」を返し、すべての条件が「正しくない(偽)」場合にのみ「FALSE(偽)」を返す関数です。
こちらは、「~か、または~であればよい」という、比較的緩やかな条件を判定したいときに使います。
OR関数の基本構成
OR関数の書き方もAND関数と同様です。
`=OR(条件1, 条件2, [条件3], …)`
具体的な活用シーン
例えば、以下のような条件で判定したい場合です。
- 条件1:資格Aを保有している
- 条件2:資格Bを保有している
「どちらか一方でも持っていれば手当を支給する」というルールがある場合、OR関数が適切です。
`=OR(B2="保有", C2="保有")`
B2セル(資格A)が「保有」で、C2セル(資格B)が「未保有」であっても、一つの条件を満たしているため、結果は「TRUE」となります。両方とも「未保有」であるときだけ、結果は「FALSE」になります。
【実践】IF関数と組み合わせて「結果」を自由に変える
AND関数やOR関数を単体で使うと、セルには「TRUE」か「FALSE」という英語しか表示されません。しかし、実際のレポートや管理表では「合格」「不合格」「要確認」といった分かりやすい言葉で表示させたいはずです。
そこで登場するのがIF関数です。IF関数の「論理式」の部分にANDやORを組み込むことで、条件に応じた自由な表示が可能になります。
AND関数 × IF関数の組み合わせ(かつ)
「すべての条件を満たしたときにだけ特定の文字を出す」パターンです。
数式例: `=IF(AND(B2>=100, C2>=10), "目標達成", "未達成")`
この数式は、「B2(売上)が100以上」かつ「C2(利益率)が10%以上」の場合にのみ「目標達成」と表示し、それ以外(どちらか一方でも満たさない場合)はすべて「未達成」と表示します。
OR関数 × IF関数の組み合わせ(または)
「どれか一つの条件を満たしたときに特定の文字を出す」パターンです。
数式例: `=IF(OR(B2="至急", C2="重要"), "優先対応", "通常対応")`
この数式は、「B2(ステータス)が至急」または「C2(優先度)が重要」のいずれかであれば「優先対応」と表示します。両方とも当てはまらないときだけ「通常対応」となります。
さらにステップアップ:ANDとORを混ぜて使う(複合条件)
実務ではさらに複雑に、「(AかつB)またはC」といった組み合わせが必要になることがあります。この場合、関数の中にさらに関数を入れる「入れ子(ネスト)」構造を使います。
例:特典付与の条件判定
以下のような複雑なルールがあるとしましょう。
- 「購入金額が1万円以上」かつ「会員ランクがゴールド」の人
- または、「購入金額が3万円以上」の人(ランク不問)
この条件を数式にすると、以下のようになります。
`=IF(OR(AND(B2>=10000, C2="ゴールド"), B2>=30000), "特典あり", "対象外")`
この数式の構造を分解して考えると理解しやすくなります。
- まず内側の `AND(B2>=10000, C2="ゴールド")` で、「1万円以上かつゴールド」かを判定します。
- 次に、その結果と `B2>=30000`(3万円以上か)を `OR` でつなぎます。
- 最終的に、どちらかのルートで「正解(TRUE)」になれば、IF関数が「特典あり」と表示します。
このように、カッコを適切に使い分けて優先順位を決めることで、人間が考える複雑な論理をそのままExcelに再現できます。
条件分岐で迷ったときの考え方(チェックリスト)
ANDとOR、どちらを使うべきか迷ったときは、以下の問いかけをしてみてください。
- 「全部そろっていないとダメか?」 $\rightarrow$ AND関数
(例:免許を持っていて、かつ、20歳以上であること)
- 「どれか一つでも当てはまればいいか?」 $\rightarrow$ OR関数
(例:土曜日であるか、または、祝日であること)
もし、条件が3つ、4つと増えていき、IF関数の中が複雑になりすぎて管理しづらくなった場合は、最新のExcelで利用可能な「IFS関数」などの検討や、作業列(判定用の列を分けて作る)を設けることで、数式をシンプルに保つ工夫をすることをおすすめします。
まとめ
ExcelのAND関数とOR関数は、単なる「正誤判定」のツールではなく、IF関数と組み合わせることで「複雑な判断を自動化する」ための強力な武器になります。
- AND関数:すべての条件を満たすときだけTRUE(厳しい条件)
- OR関数:どれか一つの条件を満たせばTRUE(緩やかな条件)
- IF関数との連携:TRUE/FALSEを「合格/不合格」などの意味のある言葉に変換できる
まずはシンプルな2条件の組み合わせから試してみてください。条件分岐のパターンをいくつか覚えるだけで、データの集計や管理の効率は劇的に向上します。日々の業務で「もし~だったら」と感じる瞬間があれば、ぜひこの組み合わせを思い出して活用してみてください。
ピックアップ記事



