「Excelで条件付きの計算をしたい」
「IF関数をもっと活用したいけど、論理式がよくわからない」
そんな悩みはありませんか?
Excelの論理式は、条件によって処理を変えるときに欠かせないものです。これを使いこなせば、「売上が目標以上なら『達成』、そうでなければ『未達』」など、自動判定を簡単に作れます。
論理式は、データ処理の自動化や業務効率化において非常に重要な役割を果たします。手動で一つ一つチェックしていた作業も、論理式を使えば瞬時に判定できるようになります。また、複雑な条件を組み合わせることで、高度な分析や分類も可能になります。
特にビジネスシーンでは、売上分析や在庫管理、人事評価など様々な場面で論理式が活用されています。条件分岐や真偽判定の仕組みを理解することで、Excelを単なる表計算ソフトから、強力なデータ分析ツールとして活用できるようになります。
今回は、Excelの論理式の基本から、IF・AND・OR関数の使い方、さらには組み合わせ方まで、初心者でもわかりやすく解説します。実際の業務で使える実例も豊富に紹介するので、ぜひ最後まで読んでください。
そもそも論理式とは?

論理式の基本概念
定義と役割
Excelにおける論理式とは、「ある条件が正しいか(TRUE)、**正しくないか(FALSE)**を判定する式」のことです。
論理式の特徴:
- 二択の判定:必ずTRUEかFALSEのどちらかを返す
- 条件分岐の基盤:IF関数などの条件判定に必須
- 自動化の要:手動判定を自動化する仕組み
- 複合条件対応:複数の条件を組み合わせ可能
基本的な構造
最もシンプルな例:
=B2>=100
この式は:
- B2セルの値が100以上ならTRUE
- B2セルの値が100未満ならFALSE を返します。
比較演算子の種類
演算子 | 意味 | 使用例 | 結果例 |
---|---|---|---|
= | 等しい | A1=10 | A1が10ならTRUE |
> | より大きい | B1>50 | B1が51以上ならTRUE |
< | より小さい | C1<20 | C1が19以下ならTRUE |
>= | 以上 | D1>=100 | D1が100以上ならTRUE |
<= | 以下 | E1<=0 | E1が0以下ならTRUE |
<> | 等しくない | F1<>"" | F1が空白でなければTRUE |
論理式の実用例
成績判定システム
基本的な合格判定:
=B2>=60 // 60点以上で合格
結果:
- 80点 → TRUE(合格)
- 45点 → FALSE(不合格)
在庫管理での判定
在庫不足の警告:
=C2<10 // 在庫が10個未満で警告
営業目標の達成判定:
=D2>=1000000 // 売上が100万円以上で目標達成
文字列での論理式
テキストの比較
部署名での判定:
=A2="営業部" // 営業部かどうかを判定
複数文字列の判定:
=B2<>"未定" // 「未定」以外かどうかを判定
大文字・小文字の扱い
注意点:
- Excelでは大文字・小文字を区別しない
- “ABC” = “abc” はTRUEになる
- 厳密な比較にはEXACT関数を使用
IF関数で条件ごとに結果を変える
IF関数の基本構造
基本的な書き方
=IF(論理式, 真の場合の値, 偽の場合の値)
各部分の説明:
- 論理式:TRUE/FALSEを返す条件
- 真の場合の値:条件が満たされたときの結果
- 偽の場合の値:条件が満たされなかったときの結果
実際の使用例
基本的な合格判定:
=IF(B2>=100,"合格","不合格")
動作の詳細:
- B2が100以上の場合:「合格」を表示
- B2が100未満の場合:「不合格」を表示
数値を使ったIF関数
売上ボーナス計算
売上に応じたボーナス:
=IF(C2>=1000000, C2*0.1, C2*0.05)
解説:
- 売上100万円以上:売上の10%
- 売上100万円未満:売上の5%
割引率の自動計算
購入金額による割引:
=IF(D2>=50000, D2*0.9, D2)
説明:
- 5万円以上の購入:10%割引適用
- 5万円未満の購入:割引なし
文字列を使ったIF関数
ステータス表示
進捗状況の判定:
=IF(E2="完了","○","△")
部署別の判定
営業部の特別処理:
=IF(A2="営業部","営業手当あり","対象外")
空白セルの処理
空白チェック
データ入力の確認:
=IF(F2="","未入力","入力済み")
より安全な空白チェック:
=IF(ISBLANK(F2),"未入力","入力済み")
IF関数の応用テクニック
計算結果の条件分岐
利益率による評価:
=IF((B2-C2)/B2>=0.3,"優良","要改善")
日付を使った判定
期限切れの判定:
=IF(G2<TODAY(),"期限切れ","有効")
AND・ORで条件を複合する

AND関数の基本
AND関数の構造
=AND(条件1, 条件2, 条件3, ...)
特徴:
- すべての条件がTRUEの場合のみTRUE
- 1つでもFALSEがあればFALSE
- 最大255個まで条件を指定可能
基本的な使用例
複数条件の同時判定:
=AND(B2>=100, C2<50)
動作説明:
- B2が100以上 かつ C2が50未満 → TRUE
- どちらか一方でも満たさない → FALSE
実際のビジネス例
優秀社員の判定:
=AND(売上>=目標, 欠勤日数<=3, 評価点>=80)
商品の推奨条件:
=AND(在庫>10, 利益率>=0.2, 売れ筋ランク<=10)
OR関数の基本
OR関数の構造
=OR(条件1, 条件2, 条件3, ...)
特徴:
- 1つでもTRUEがあればTRUE
- すべてがFALSEの場合のみFALSE
- 柔軟な条件設定が可能
基本的な使用例
いずれかの条件を満たす判定:
=OR(B2>=100, C2<50)
動作説明:
- B2が100以上 または C2が50未満 → TRUE
- 両方とも満たさない → FALSE
実際のビジネス例
特別対応の判定:
=OR(顧客ランク="VIP", 購入金額>=100000, 紹介客=TRUE)
休日判定:
=OR(WEEKDAY(A2)=1, WEEKDAY(A2)=7, 祝日フラグ=TRUE)
NOT関数の活用
条件の否定
NOT関数の基本:
=NOT(条件)
使用例:
=NOT(A2="") // A2が空白でない場合にTRUE
AND・ORとの組み合わせ
複合条件の否定:
=NOT(AND(B2>=100, C2<50)) // 両方の条件を満たさない場合
IFと組み合わせて高度な判定
AND関数との組み合わせ
複数条件をすべて満たす場合
特典対象者の判定:
=IF(AND(B2>=100, C2<50), "特典あり", "対象外")
詳細な解説:
- B2が100以上 かつ C2が50未満:「特典あり」
- どちらか一方でも満たさない:「対象外」
より複雑な条件
優秀社員の表彰判定:
=IF(AND(売上>=1000000, 顧客満足度>=4.5, 欠勤=0), "表彰対象", "対象外")
商品の推奨判定:
=IF(AND(在庫>20, 利益率>=0.3, 評価>=4.0), "推奨商品", "通常商品")
OR関数との組み合わせ
いずれかの条件を満たす場合
割引対象の判定:
=IF(OR(購入金額>=50000, 会員ランク="ゴールド", 紹介=TRUE), "割引適用", "通常価格")
緊急対応の判定:
=IF(OR(優先度="高", 期限<TODAY()+3, VIP顧客=TRUE), "緊急", "通常")
複雑な条件の組み合わせ
ANDとORの混合
高度な条件分岐:
=IF(AND(OR(部署="営業", 部署="企画"), 経験年数>=3, 評価>=80), "昇進候補", "現状維持")
解説:
- 部署が「営業」または「企画」
- かつ経験年数が3年以上
- かつ評価が80以上 すべてを満たす場合に「昇進候補」
ネストしたIF文
段階的な評価:
=IF(点数>=90, "優秀", IF(点数>=70, "良好", IF(点数>=50, "普通", "要改善")))
売上ランクの判定:
=IF(売上>=1000000, "S", IF(売上>=500000, "A", IF(売上>=300000, "B", "C")))
実践的な活用例
人事評価システム
総合評価の自動計算
評価項目の統合:
=IF(AND(業績評価>=80, 行動評価>=75, 勤怠評価>=90), "S評価",
IF(AND(業績評価>=70, 行動評価>=65, 勤怠評価>=80), "A評価",
IF(AND(業績評価>=60, 行動評価>=55, 勤怠評価>=70), "B評価", "C評価")))
昇給の判定
昇給対象者の抽出:
=IF(AND(勤続年数>=2, 評価="A"以上, 査定ポイント>=100), "昇給対象", "対象外")
在庫管理システム
発注タイミングの判定
自動発注の判断:
=IF(AND(現在庫<安全在庫, 発注済フラグ=FALSE), "発注必要",
IF(現在庫<最低在庫, "緊急発注", "正常"))
商品分類の自動判定
売れ筋商品の分類:
=IF(AND(月間売上>=100000, 在庫回転率>=6), "A商品",
IF(AND(月間売上>=50000, 在庫回転率>=3), "B商品", "C商品"))
顧客管理システム
顧客ランクの自動判定
ランク分けシステム:
=IF(AND(年間購入額>=1000000, 購入回数>=12), "プラチナ",
IF(AND(年間購入額>=500000, 購入回数>=6), "ゴールド",
IF(AND(年間購入額>=100000, 購入回数>=3), "シルバー", "ブロンズ")))
キャンペーン対象者の抽出
ターゲット顧客の選定:
=IF(OR(AND(年齢>=30, 年齢<=50, 性別="女性"),
AND(購入履歴="化粧品", 最終購入<30日前)), "対象", "対象外")
論理式のよくある疑問

比較演算子の詳細
=(イコール)と>、<の違い
完全一致の判定:
A1=10
:A1が正確に10のときだけTRUEA1="営業部"
:A1が「営業部」と完全に一致する場合のみTRUE
範囲の判定:
>
:より大きい(境界値は含まない)<
:より小さい(境界値は含まない)>=
:以上(境界値を含む)<=
:以下(境界値を含む)
境界値の取り扱い
例:点数80点の場合
B2>80 // FALSE(80は含まない)
B2>=80 // TRUE(80を含む)
B2<80 // FALSE
B2<=80 // TRUE
文字列比較の注意点
大文字・小文字の区別
標準的な比較:
"ABC"="abc" // TRUE(区別しない)
厳密な比較:
EXACT("ABC","abc") // FALSE(区別する)
空白文字の処理
見た目は空白だが実は文字がある場合:
=IF(TRIM(A1)="","空白","データあり")
TRUE・FALSEの直接使用
直接入力の方法
セルに直接入力:
=TRUE // TRUEを返す
=FALSE // FALSEを返す
計算での使用:
=TRUE*1 // 1を返す(TRUEは1として計算)
=FALSE*1 // 0を返す(FALSEは0として計算)
テスト・デバッグでの活用
条件の一時的な固定:
=IF(TRUE, "常に表示", "表示されない")
=IF(FALSE, "表示されない", "常に表示")
エラーの種類と対処法
よくあるエラーパターン
#VALUE! エラー:
- 原因:文字列と数値の不適切な比較
- 対処:VALUE関数で数値に変換
#NAME? エラー:
- 原因:関数名のスペルミス
- 対処:正しい関数名に修正
#REF! エラー:
- 原因:参照しているセルが削除された
- 対処:参照先を再設定
安全な論理式の作成
エラー回避の例:
=IF(ISNUMBER(A1), IF(A1>=100, "合格", "不合格"), "数値以外")
高度な論理式テクニック
配列数式での論理判定
複数セルの一括判定
範囲内の条件判定:
=SUM((A1:A10>=100)*(B1:B10<50))
**解説:**条件を満たすセルの個数をカウント
条件付き集計関数
SUMIF・COUNTIFとの連携
条件付き合計:
=SUMIF(A1:A10,">=100",B1:B10)
複数条件での集計:
=SUMIFS(売上, 部署,"営業", 月,">="&DATE(2024,1,1))
動的な条件設定
セル参照を使った条件
基準値を変更可能な判定:
=IF(売上>=$E$1, "目標達成", "未達成")
相対的な条件:
=IF(個人売上>=平均売上*1.2, "優秀", "標準")
データ検証との組み合わせ

入力規則での活用
カスタム入力規則
範囲制限の設定:
=AND(A1>=1, A1<=100, MOD(A1,1)=0)
**解説:**1~100の整数のみ入力可能
条件付き入力制限
他のセルの値に依存する制限:
=IF(B1="社員", AND(C1>=18, C1<=65), TRUE)
条件付き書式での応用
動的なセル色分け
条件に応じた色付け:
=AND($B2>=100, $C2="完了")
複数段階の色分け:
- 90以上:緑色
- 70以上90未満:黄色
- 70未満:赤色
まとめ
重要なポイントの再確認
Excelの論理式は、条件判定とデータ処理の自動化において中核となる機能です。
基本的な構成要素
- IF関数:条件によって表示や計算を変える
- AND関数:複数条件すべてを満たす場合
- OR関数:複数条件のいずれかを満たす場合
- 比較演算子:具体的な条件を記述
コメント