ANDは、指定したすべての条件を満たすかどうかを判定する関数です。「かつ」の判定に使います。
すべて満たせば TRUE、1つでも外れれば FALSE を返します。
書式
=AND(条件1, 条件2, ...)
条件はいくつでも並べられます。
基本の動き
=AND(A2 >= 80, B2 >= 80)
A2もB2も80以上なら TRUE、どちらかが79以下なら FALSE です。
AND単体では TRUE / FALSE としか表示されないので、実務ではほぼ IF の中で使います。
=IF(AND(A2 >= 80, B2 >= 80), "合格", "不合格")
条件は3つ以上でもいい
=IF(AND(A2 >= 80, B2 >= 80, C2 >= 80, D2 = "提出済"), "合格", "不合格")
引数を並べるだけで条件が増えます。数値と文字列の判定を混ぜても構いません。
範囲での指定に注意
ANDは範囲を渡すこともできます。
=AND(A2:A10 >= 80)
これは「A2からA10のすべてが80以上か」を判定します。便利ですが、空白セルが含まれると意図しない結果になります。空白は0として扱われるため、1つでも空欄があると FALSE になります。
入力途中のデータで使うと誤判定するので、範囲指定は結果を確認してから使ってください。
実用例
期間内かどうかを判定する
=IF(AND(A2 >= DATE(2026,4,1), A2 <= DATE(2027,3,31)), "今年度", "対象外")
日付は「以上」と「以下」の2つで挟むのが基本形です。片方だけだと期間になりません。
数値が範囲内かを判定する
=IF(AND(A2 >= 10, A2 < 100), "2桁", "対象外")
「10以上100未満」を1つの式で書けます。境界をどちらに含めるかは >= と > の使い分けで決まるので、境界の値でテストしてください。
複数の必須項目が埋まっているか
=IF(AND(A2<>"", B2<>"", C2<>""), "入力完了", "未入力あり")
<>""(空欄でない)を並べます。3つとも埋まっていれば完了です。
項目が多いなら COUNTA のほうが短く書けます。
=IF(COUNTA(A2:F2) = 6, "入力完了", "未入力あり")
項目が5つを超えたらCOUNTAに切り替える、というのが実用的な目安です。
条件付き書式で使う
ANDが最も活きるのは条件付き書式です。「カスタム数式」に次のように入れます。
=AND($D2 = "未処理", $E2 < TODAY())
「未処理」かつ「期限切れ」の行だけを赤くする、という指定になります。
列を $ で固定し、行は固定しないのがポイントです。これで行全体に書式が適用されます。ここを間違えると1セルだけ色が付いたり、全行が同じ判定になったりします。
掛け算で代用できる
ANDは配列に対してうまく働かないため、SUMPRODUCT や配列を扱う数式の中では掛け算 * で代用します。
=SUMPRODUCT((A2:A100 >= 80) * (B2:B100 >= 80))
TRUE は1、FALSE は0として扱われるため、掛け算の結果が1になるのは両方 TRUE のときだけです。掛け算がANDに相当するわけです。
同様に、足し算は OR に相当します。
ORとの使い分け
| やりたいこと | 使う関数 |
|---|---|
| すべて満たす | AND |
| どれか1つでも満たす | OR |
組み合わせることもできます。
=IF(AND(A2>=80, OR(B2="東京", B2="大阪")), "対象", "対象外")
「80点以上、かつ、東京または大阪」という判定です。入れ子が深くなったら、途中結果を別セルに出すと検証が楽になります。
まとめ
- – 書式は
=AND(条件1, 条件2, ...) - – すべて満たしたときだけ
TRUE - – 実務では IF の中か、条件付き書式で使う
- – 期間・範囲の判定は「以上」と「以下」で挟む
- – 配列の中では掛け算
*で代用する
コメントを残す