Excelで「AかつBの両方を満たす場合」といった複雑な条件分岐を作りたいとき、IFS関数とAND関数を組み合わせると効率的に処理できます。この記事では、両関数の基本から組み合わせ方、実務で使える具体例、注意すべきポイントまでを実践的に解説します。
IFS関数とAND関数の基本
IFS関数とは
IFS関数は、複数の条件を順番に評価し、最初に満たされた条件の結果を返す関数です。Excel 2016以降(Microsoft 365含む)で利用できます。
=IFS(論理式1, 真の場合の値1, 論理式2, 真の場合の値2, ..., TRUE, デフォルト値)
▼ 引数の説明
- 論理式:TRUE/FALSEを返す条件(例:A1>=90)
- 真の場合の値:条件を満たしたときに返す結果
- TRUE, デフォルト値:すべての条件に該当しない場合の値(#N/Aエラー回避のため必須)
AND関数とは
AND関数は、指定したすべての条件が真の場合のみTRUEを返します。「AかつB」という判定に使います。
=AND(論理式1, 論理式2, ...)
最大255個まで条件を指定可能です。
IFS関数とAND関数を組み合わせる方法
IFS関数の「論理式」部分にAND関数を入れることで、「複数条件を同時に満たす場合」の判定ができます。
基本的な数式構造
=IFS(
AND(条件A1, 条件A2), 結果A,
AND(条件B1, 条件B2), 結果B,
TRUE, その他の結果
)
実践例:前月比データの評価判定
Webメディアの掲載数と順位の変動を評価するケースで考えます。
▼ 前提条件
- J6セル:前月比での掲載数の増減(正の値が増加、負の値が減少)
- K6セル:順位の変動(正の値が改善、負の値が悪化)
この2つの指標の組み合わせで、4パターンの評価を返します。
=IFS(
AND(J6 < 0, K6 > 0), "掲載数減・順位改善",
AND(J6 > 0, K6 > 0), "掲載数増・順位改善",
AND(J6 < 0, K6 < 0), "掲載数減・順位悪化",
AND(J6 > 0, K6 < 0), "掲載数増・順位悪化",
TRUE, "変動なし"
)
▼ 数式の動作
- 1番目の条件:J6が負(減少)かつK6が正(改善)→「掲載数減・順位改善」を返して終了
- 2番目の条件:J6が正(増加)かつK6が正(改善)→「掲載数増・順位改善」を返して終了
- 3番目の条件:J6が負(減少)かつK6が負(悪化)→「掲載数減・順位悪化」を返して終了
- 4番目の条件:J6が正(増加)かつK6が負(悪化)→「掲載数増・順位悪化」を返して終了
- 最終条件:上記すべてに該当しない(どちらかが0など)→「変動なし」を返す
別の実践例:営業成績の評価
売上と新規顧客獲得数の両方を評価する場合です。
▼ 前提条件
- B2セル:売上金額
- C2セル:新規顧客数
=IFS(
AND(B2>=5000000, C2>=10), "S評価",
AND(B2>=3000000, C2>=7), "A評価",
AND(B2>=1000000, C2>=3), "B評価",
TRUE, "C評価"
)
この数式では、売上と新規顧客数の両方が基準を満たした場合のみ、対応する評価を返します。
注意点とよくある間違い
条件の順序が重要
IFS関数は記述された順に評価し、最初にTRUEになった時点で処理を終了します。そのため、より限定的な条件を先に書く必要があります。
▼ 悪い例
=IFS(
AND(B2>=1000000, C2>=3), "B評価",
AND(B2>=5000000, C2>=10), "S評価",
TRUE, "C評価"
)
この場合、売上500万円・新規顧客10人でも「B評価」になってしまいます。B評価の条件がS評価の条件も満たしているためです。
必ずデフォルト値を設定する
最後に「TRUE, デフォルト値」を設定しないと、どの条件にも該当しない場合に#N/Aエラーが発生します。
▼ 良い例
TRUE, "評価対象外"
AND条件の数に注意
AND関数内の条件が多すぎると、数式が読みにくくなります。4つ以上の条件を同時に判定する場合は、別のセルで中間判定を行うなど、数式を分割することを検討してください。
セル参照が空白の場合の挙動
数値比較の条件で、参照先セルが空白の場合、空白は「0」として扱われます。意図しない判定結果にならないよう、事前にデータの入力状況を確認してください。
応用例:3つ以上の条件を同時判定
プロジェクト管理で、進捗率・品質スコア・予算達成率の3つを同時に評価する場合です。
▼ 前提条件
- B2セル:進捗率(%)
- C2セル:品質スコア(点)
- D2セル:予算達成率(%)
=IFS(
AND(B2>=90, C2>=85, D2>=95), "優秀",
AND(B2>=70, C2>=70, D2>=80), "良好",
AND(B2>=50, C2>=60, D2>=70), "普通",
TRUE, "要改善"
)
IFS関数とIF関数の使い分け
条件が2〜3個までならIF関数、4個以上ならIFS関数が適しています。
▼ IF関数を使った複数条件(3つまで)
=IF(A1>=90, "A", IF(A1>=80, "B", "C"))
▼ IFS関数を使った複数条件(4つ以上)
=IFS(A1>=90, "A", A1>=80, "B", A1>=70, "C", TRUE, "D")
IFS関数の方が、条件が増えても数式の構造が平坦で読みやすくなります。
エラー対策:IFERROR関数との組み合わせ
IFS関数でエラーが発生する可能性がある場合、IFERROR関数で包むと安全です。
=IFERROR(
IFS(
AND(J6 < 0, K6 > 0), "掲載数減・順位改善",
AND(J6 > 0, K6 > 0), "掲載数増・順位改善",
TRUE, "変動なし"
),
"エラー:データを確認してください"
)
まとめ
IFS関数とAND関数を組み合わせると、「AかつB」という複雑な条件分岐を1つの数式で実現できます。実務では、営業成績の多角的評価やWebメディアのKPI判定など、複数指標を同時に見る場面で活用できます。
▼ 押さえるべきポイント
- 条件の記述順序は厳密に(限定的な条件を先に書く)
- 必ず最後に「TRUE, デフォルト値」を設定
- AND関数内の条件は3つまでが目安
- エラー対策にIFERROR関数を活用
条件の記述順序とデフォルト値の設定を意識すれば、メンテナンスしやすい数式が作成できます。
コメント