業務効率化

IF関数とAND/ORで複数条件をまとめて判定する|「会員かつ5000円以上」を自動化

ExcelMate編集部6分

この記事の要点

  • 「AかつB」「AまたはB」の複数条件は、IFの中にAND/ORを入れるとIFを何重にも重ねずに判定できる
  • 数式は =IF(AND(条件1, 条件2), 真の値, 偽の値)。すべて満たすならAND、どれか満たせばOR
  • 条件は A2="○" や B2>=5000 のように書く。文字はダブルクオートで囲み、以上は >= と書く

会員で、かつ5,000円以上なら割引」「当日中、または緊急フラグがあれば最優先」——条件が2つ以上ある判定を、IFを何重にも入れ子にして書いていませんか。読みにくく、条件を1つ足すだけで崩れがちです。

複数条件は、IF の中に AND 関数OR 関数を入れると、1つの数式にすっきりまとまります。実際の画面で見ていきましょう。

完成イメージ

「会員(○)かつ購入金額5,000円以上」の行だけを割引と自動判定しています。会員でも3,000円なら対象外、非会員は金額が大きくても対象外です。

IF関数とAND関数の組み合わせで、会員かつ5000円以上の行だけを割引と判定したExcel画面。C2セルにIFとANDを使った数式を入力し、会員で6000円や5000円の行が割引と表示されている
C2 に入力した数式と結果(2条件をすべて満たす行だけ割引)

数式の意味

判定のセルに入れているのは、次の数式です。

=IF(AND(A2="○", B2>=5000), "割引", "—")

IF の最初の引数(条件)に、AND をまるごと入れているのがポイントです。

  1. AND(A2="○", B2>=5000) … 「会員である」かつ「5,000円以上」の両方を満たすと TRUE
  2. IF(…, "割引", "—") … その結果が TRUE なら「割引」、FALSE なら「—」を表示

AND の中はカンマ区切りで条件を3つ4つと増やせます。IFを入れ子にする必要はありません。

ANDとORの使い分け

  • AND(かつ)… 指定した条件をすべて満たすときだけ TRUE。「会員かつ5,000円以上」
  • OR(または)… どれか1つでも満たせば TRUE。「会員または1万円以上」なら =IF(OR(A2="○", B2>=10000), "割引", "—")

「全部そろって初めて」なら AND、「どれか1つでも」なら OR、と覚えておくと迷いません。

つまずきやすいポイント:条件の書き方

  • 文字はダブルクオートで囲むA2="○"。囲み忘れると判定されません
  • 比較記号は半角 … 以上は >=、以下は <=、等しくないは <>。全角で入れるとエラーになります
  • 表記をそろえる … 全角半角の違いや前後の空白で文字が一致しないことが多いので、入力をそろえます

まとめ

IF の中に AND / OR を入れれば、複数条件の判定はIFを重ねずに1行で書けます。「すべて満たす」なら AND、「どれか満たす」なら OR。条件の追加・修正もこの形なら簡単です。

「割引・手当・区分などの判定ルールが複雑になってきた」「判定から帳票出力までまとめて自動化したい」という場合は、ExcelMate のチャット相談でそのままご相談いただけます。

よくある質問

ANDとORの違いは?
ANDは指定した条件をすべて満たすときだけTRUEになります(AかつB)。ORはどれか1つでも満たせばTRUEになります(AまたはB)。『会員かつ5,000円以上』はAND、『会員または1万円以上』はORを使います。
IFを何重にも重ねるのとどう違う?
=IF(条件1, IF(条件2, …)) のようにIFを入れ子にしても同じ判定はできますが、長く読みにくくなります。AND/ORを使えば1つのIFにまとまり、条件の追加・修正も簡単です。条件が増えるほどAND/ORが有利です。
条件の書き方で「以上」「以下」はどう書く?
以上は >= 、以下は <= 、より大きいは > 、より小さいは < 、等しくないは <> と書きます。たとえば『5,000円以上』は B2>=5000 です。記号は必ず半角で入力します。
文字の条件がうまく判定されない
文字を条件にするときは A2="○" のようにダブルクオートで囲みます。囲み忘れ、全角半角の違い、前後の空白が原因で一致しないことが多いので、表記をそろえます。

監修・運営者

株式会社KOPS 代表取締役 馬込 浩

馬込 浩株式会社KOPS 代表取締役

業務システムの要件定義〜設計〜実装を一気通貫で手がけ、経営者として自社のバックオフィスも運営。Excel・VBA・Power Query/スプレッドシート自動化の実務経験にもとづき、ExcelMateの記事を監修しています。

運営者情報・監修者プロフィールを見る