「2つ以上の条件がすべて満たされているときだけ”TRUE”にしたい」
──そんなときに便利なのが、ExcelのAND関数です。
IF関数と組み合わせることで、より柔軟な条件判断が可能になり、実務でも非常によく使われます。
この記事では、ExcelにおけるAND関数の基本的な使い方、実例、IF関数との併用例、注意点まで、初心者にもわかりやすく解説します。
AND関数って何?基本を理解しよう

AND関数の役割
AND関数は、複数の条件を同時に満たしているかどうかを判定する論理関数です。
「AかつB」「AとBの両方」という条件を簡単にチェックできます。
基本的な書き方
=AND(条件1, 条件2, 条件3, ...)
結果の意味
すべての条件がTRUE(真)の場合 → TRUE
が返される
1つでもFALSE(偽)がある場合 → FALSE
が返される
身近な例で理解しよう
テストの合格判定を例に
- 条件1:数学の点数が80点以上
- 条件2:英語の点数が70点以上
- 条件3:欠席日数が3日以下
この3つの条件をすべて満たす場合だけ合格、というルールがあるとします。
=AND(B2>=80, C2>=70, D2<=3)
この数式は:
- 数学80点以上 AND 英語70点以上 AND 欠席3日以下 →
TRUE
- どれか1つでも満たさない →
FALSE
具体的な使用例

例1:基本的な数値判定
成績と出席の両方をチェック
データ例:
A列 | B列(成績) | C列(欠席日数) | D列(判定) |
---|---|---|---|
田中 | 85 | 0 | |
佐藤 | 75 | 1 | |
山田 | 90 | 5 |
D列の数式:
=AND(B2>=80, C2<=2)
結果:
- 田中:TRUE(85点以上かつ欠席2日以下)
- 佐藤:FALSE(75点で80点未満)
- 山田:FALSE(90点以上だが欠席5日で2日超過)
例2:日付の範囲判定
特定の期間内かをチェック
=AND(A2>=DATE(2025,4,1), A2<=DATE(2025,6,30))
この数式は、A2のセルの日付が2025年4月1日から6月30日の間にあるかどうかをチェックします。
例3:文字列と数値の組み合わせ
部署と経験年数の両方をチェック
=AND(B2="営業部", C2>=3)
この数式は:
- B2が「営業部」 AND C2が3以上 →
TRUE
- どちらか一方でも満たさない →
FALSE
例4:複数の範囲チェック
年齢と収入の両方が条件範囲内かをチェック
=AND(B2>=25, B2<=45, C2>=300, C2<=800)
この数式は:
- 年齢が25歳以上45歳以下 AND 収入が300万以上800万以下
IF関数と組み合わせた実用例

AND関数の真価は、IF関数と組み合わせたときに発揮されます。
例1:合格・不合格の判定
基本的な判定
=IF(AND(B2>=80, C2=0), "合格", "不合格")
データ例:
A列(名前) | B列(点数) | C列(欠席) | D列(結果) |
---|---|---|---|
田中 | 85 | 0 | 合格 |
佐藤 | 90 | 1 | 不合格 |
山田 | 75 | 0 | 不合格 |
例2:ボーナス支給の判定
より実用的な例
=IF(AND(B2="正社員", C2>=3, D2="優秀"), "支給対象", "支給対象外")
この数式は:
- 正社員 AND 勤続3年以上 AND 評価が優秀 → 「支給対象」
- 条件の1つでも満たさない → 「支給対象外」
例3:段階的な判定
3段階の評価
=IF(AND(B2>=90, C2<=1), "優秀",
IF(AND(B2>=70, C2<=3), "良好", "要改善"))
この数式は:
- 90点以上かつ欠席1日以下 → 「優秀」
- 70点以上かつ欠席3日以下 → 「良好」
- それ以外 → 「要改善」
例4:割引適用の判定
ECサイトの割引条件
=IF(AND(B2>=50000, C2="プレミアム会員"), "20%割引",
IF(AND(B2>=30000, C2="一般会員"), "10%割引", "割引なし"))
条件:
- 購入金額5万円以上 AND プレミアム会員 → 20%割引
- 購入金額3万円以上 AND 一般会員 → 10%割引
- それ以外 → 割引なし
より実践的な活用例

勤怠管理での活用
有給取得の条件チェック
=IF(AND(B2>=30, C2<=5, D2="申請済み"), "承認", "要確認")
条件:
- 勤続日数30日以上 AND 今月有給取得5日以下 AND 申請済み
在庫管理での活用
発注が必要な商品の判定
=IF(AND(B2<=C2*0.2, D2<>"廃盤予定"), "発注必要", "")
条件:
- 在庫数が安全在庫の20%以下 AND 廃盤予定でない商品
成績管理での活用
奨学金受給資格の判定
=IF(AND(B2>=3.5, C2<=2, D2="在学中"), "受給可能", "受給不可")
条件:
- GPA3.5以上 AND 欠席2回以下 AND 在学中
営業管理での活用
優秀営業員の選定
=IF(AND(B2>=C2*1.2, D2>=10, E2>=90), "表彰対象", "")
条件:
- 売上が目標の120%以上 AND 新規獲得10件以上 AND 顧客満足度90%以上
よくある間違いと注意点
間違いやすい条件の書き方
間違った例
=AND(B2=80, 90) // 2番目の「90」が条件として不完全
正しい例
=AND(B2>=80, B2<=90) // 「80以上90以下」を正しく表現
範囲指定での間違い
間違った例
=AND(B2>=80, <=90) // 2番目の条件でセル参照が抜けている
正しい例
=AND(B2>=80, B2<=90) // 両方の条件でセルを正しく参照
空白セルの扱い
空白セルがある場合の動作
=AND(B2>=80, C2>0)
- B2が空白の場合:
FALSE
(数値として0と判定される) - C2が空白の場合:
FALSE
(数値として0と判定される)
空白セルを考慮した書き方
=IF(OR(B2="", C2=""), "データ不足", AND(B2>=80, C2>0))
条件が多すぎる場合
読みにくい例
=AND(B2>=80, C2<=2, D2="在籍", E2>0, F2<>"休職", G2="正社員")
読みやすくする工夫
// 補助列H2に部分条件を作成
H2: =AND(B2>=80, C2<=2, D2="在籍")
I2: =AND(E2>0, F2<>"休職", G2="正社員")
// 最終判定
J2: =AND(H2, I2)
AND関数とOR関数の違い

AND関数(すべての条件を満たす)
=AND(B2>=80, C2>=70)
- 数学80点以上 かつ 英語70点以上 →
TRUE
- どちらか一方でも満たさない →
FALSE
OR関数(いずれかの条件を満たす)
=OR(B2>=80, C2>=70)
- 数学80点以上 または 英語70点以上 →
TRUE
- 両方とも満たさない →
FALSE
実際の使い分け例
AND関数を使うべき場面
- 「資格Aと資格Bの両方を持っている人」
- 「売上目標を達成し、かつ顧客満足度も高い営業員」
- 「出席率が高く、かつ成績も良い学生」
OR関数を使うべき場面
- 「資格Aまたは資格Bのどちらかを持っている人」
- 「売上目標を達成した、または新規顧客を多く獲得した営業員」
- 「数学または英語のどちらかで高得点を取った学生」
複雑な条件を作る応用テクニック
ANDとORの組み合わせ
=IF(AND(OR(B2="正社員", B2="契約社員"), C2>=3, D2>=80), "昇進候補", "")
条件:
- (正社員または契約社員)AND 勤続3年以上 AND 評価80点以上
NOT関数との組み合わせ
=IF(AND(B2>=70, NOT(C2="休職中")), "研修対象", "")
条件:
- 成績70点以上 AND 休職中でない
複数のAND条件の組み合わせ
=IF(OR(AND(B2="新入社員", C2>=80), AND(B2="中堅社員", C2>=70)), "表彰", "")
条件:
- (新入社員かつ80点以上)または(中堅社員かつ70点以上)
実務でよく使うパターン集
パターン1:期間限定キャンペーンの対象者
=IF(AND(TODAY()>=DATE(2025,7,1), TODAY()<=DATE(2025,7,31), B2="プレミアム"), "対象", "対象外")
パターン2:在庫アラート
=IF(AND(B2<=10, C2<>"廃盤"), "発注必要", "")
パターン3:勤怠異常の検出
=IF(AND(B2>8, C2<1), "要確認", "")
(残業8時間超かつ休憩1時間未満)
パターン4:顧客ランク判定
=IF(AND(B2>=1000000, C2>=5), "VIP", IF(AND(B2>=500000, C2>=3), "ゴールド", "一般"))
パターン5:試験合格判定
=IF(AND(B2>=60, C2>=60, (B2+C2)/2>=70), "合格", "不合格")
(各科目60点以上かつ平均70点以上)
エラーが出たときの対処法

よくあるエラーと原因
#VALUE! エラー
- 原因:数値として比較すべきセルに文字列が入っている
- 対処:
VALUE()
関数やISNUMBER()
関数で数値チェック
#NAME? エラー
- 原因:関数名の綴りミスや、存在しないセル参照
- 対処:関数名とセル参照を確認
意図しない結果
- 原因:条件の論理が間違っている
- 対処:条件を一つずつ分けてテスト
デバッグのコツ
段階的にテスト
// まず個別の条件をテスト
=B2>=80
=C2<=2
// 次にAND関数をテスト
=AND(B2>=80, C2<=2)
// 最後にIF関数と組み合わせ
=IF(AND(B2>=80, C2<=2), "合格", "不合格")
まとめ
ExcelのAND関数は、「すべての条件を満たしているか」を一瞬で判定できる便利な関数です。
IF関数と組み合わせることで、より高度な判定処理が可能になります。
重要なポイント
- すべての条件がTRUEの場合のみ
TRUE
を返す - 1つでもFALSEがあれば
FALSE
を返す - IF関数との組み合わせで実用的な判定が可能
- 条件の書き方に注意が必要
使い方のコツ
- 条件は具体的で明確に書く
- 複雑な条件は補助列で分割する
- 空白セルの扱いに注意する
- 実際のデータでテストしてから本格運用
よく使う場面
- 成績や評価の判定
- 勤怠管理での条件チェック
- 在庫管理での発注判定
- 営業成績の評価
- 資格や条件の適合チェック
コメント