【初心者向け】ExcelのOR関数で「いずれかを満たす」条件判定をしよう

Excel

日常生活での「OR」の考え方:

  • 「雨または雪が降ったら外出を控える」
  • 「国語または数学で90点以上なら合格」
  • 「土曜日または日曜日なら休み」

Excelでの活用場面:

  • Aさんの点数が国語または数学で合格点なら合格にしたい
  • 商品が在庫切れ or 発注済みのいずれかで強調表示したい
  • 休日 or 遅刻の社員だけをリストアップしたい

こうした「どれか1つでもOK」という条件処理に使います。

スポンサーリンク

OR関数の基本構文

基本の書き方

=OR(条件1, 条件2, 条件3, ...)

重要なポイント:

  • 条件は最大255個まで指定可能
  • 1つでもTRUEがあれば、全体がTRUE
  • すべてFALSEの場合のみ、全体がFALSE

例1:基本的な数値比較

データ例:

A2: 田中    B2: 70(国語)    C2: 85(数学)
=OR(B2>=80, C2>=80)

解説:

  • B2>=80 → 70>=80 → FALSE
  • C2>=80 → 85>=80 → TRUE
  • 結果:TRUE(数学が80点以上なので)

例2:文字列の条件

データ例:

A2: 商品A    B2: 在庫切れ
=OR(B2="在庫切れ", B2="販売停止", B2="廃盤")

解説:

  • B2が「在庫切れ」「販売停止」「廃盤」のいずれかならTRUE
  • この場合、B2は「在庫切れ」なのでTRUE

例3:空白チェック

=OR(A2="", B2="", C2="")

解説:

  • A2、B2、C2のいずれかが空白ならTRUE
  • データ入力の必須チェックなどに使用

IF関数と組み合わせるのが基本パターン!

基本の組み合わせ

=IF(OR(条件1, 条件2), "条件を満たす場合", "満たさない場合")

例1:合格判定

データ例:

A2: 田中    B2: 70(国語)    C2: 85(数学)
=IF(OR(B2>=80, C2>=80), "合格", "不合格")

結果: 合格 理由: 数学が85点で80点以上なので

例2:アラート表示

データ例:

A2: 商品A    B2: 在庫切れ    C2: 2023/12/31
=IF(OR(B2="在庫切れ", C2<TODAY()), "要確認", "正常")

解説:

  • 在庫が「在庫切れ」または有効期限が今日より前なら「要確認」
  • そうでなければ「正常」

例3:社員の勤務状況チェック

データ例:

A2: 田中    B2: 遅刻    C2: 土曜日
=IF(OR(B2="遅刻", B2="欠勤", C2="土曜日", C2="日曜日"), "注意対象", "")

結果: 注意対象 理由: 「遅刻」と「土曜日」の両方が該当するため

複数条件を指定したいときの注意点

ANDとORの違い

関数条件の意味結果
OR1つでも満たせばOK数学≥80 または 英語≥80どちらか一方が80点以上で合格
ANDすべての条件を満たす数学≥80 かつ 英語≥80両方とも80点以上で合格

具体例での比較

データ例:

A2: 田中    B2: 75(数学)    C2: 85(英語)

OR関数の場合

=IF(OR(B2>=80, C2>=80), "合格", "不合格")

結果: 合格(英語が85点なので)

AND関数の場合

=IF(AND(B2>=80, C2>=80), "合格", "不合格")

結果: 不合格(数学が80点未満なので)

ANDとORの組み合わせ

複雑な条件も表現できます。

=IF(AND(A2="営業部", OR(B2="在庫切れ", B2="未入荷")), "至急対応", "")

解説:

  • A2が「営業部」かつ
  • B2が「在庫切れ」または「未入荷」
  • この両方の条件を満たす場合に「至急対応」

実際の例:

A2: 営業部    B2: 在庫切れ
→ 結果:至急対応

A2: 総務部    B2: 在庫切れ  
→ 結果:(空白)

A2: 営業部    B2: 正常
→ 結果:(空白)

OR関数を使った条件付き書式

基本的な設定方法

例:成績表で80点未満があると赤くする

手順:

  1. 対象セル範囲(B2:C2など)を選択
  2. ホーム → 条件付き書式 → 新しいルール
  3. 「数式を使用して書式設定するセルを決定」を選択
  4. 数式に以下を入力:
=OR(B2<80, C2<80)
  1. 書式で「塗りつぶし(赤)」を設定
  2. OK をクリック

結果:

  • 国語または数学のいずれかが80点未満なら、その行が赤くなる

応用例:複数条件での色分け

商品管理での警告表示

データ例:

A2: 商品名    B2: 在庫数    C2: ステータス    D2: 最終更新日

条件:在庫が10以下 または ステータスが「要確認」 または 最終更新が1週間以上前

=OR(B2<=10, C2="要確認", D2<TODAY()-7)

設定手順:

  1. データ範囲を選択
  2. 条件付き書式で上記の数式を設定
  3. 黄色の背景色を適用

ネスト(入れ子)で複雑な判定

基本的なネスト構造

=IF(条件1, 結果1, IF(条件2, 結果2, 結果3))

例1:3段階の評価

データ例:

A2: 田中    B2: 65(英語)    C2: 75(数学)
=IF(AND(B2<60, C2<60), "再試験", 
   IF(OR(B2<60, C2<60), "追試", "合格"))

判定ロジック:

  1. 英語かつ数学が両方60点未満 → 「再試験」
  2. 英語または数学のいずれかが60点未満 → 「追試」
  3. 両方とも60点以上 → 「合格」

結果: 追試(数学は60点以上だが、英語が60点未満)

例2:営業成績の評価

データ例:

A2: 田中    B2: 85(売上達成率%)    C2: 12(契約件数)
=IF(AND(B2>=100, C2>=15), "優秀", 
   IF(OR(B2>=90, C2>=10), "良好", 
      IF(OR(B2>=70, C2>=5), "普通", "要改善")))

判定ロジック:

  1. 売上100%以上かつ契約15件以上 → 「優秀」
  2. 売上90%以上または契約10件以上 → 「良好」
  3. 売上70%以上または契約5件以上 → 「普通」
  4. それ以外 → 「要改善」

結果: 普通

実際の業務での活用例

活用例1:勤怠管理

データ例:

A2: 社員名    B2: 出勤時刻    C2: 曜日    D2: 有給フラグ

遅刻者のチェック

=IF(OR(AND(C2<>"土", C2<>"日", B2>TIME(9,0,0)), D2="有給"), "要確認", "")

解説:

  • 平日(土日以外)で9時以降の出勤または有給取得者を「要確認」

休日出勤のチェック

=IF(AND(OR(C2="土", C2="日"), B2<>""), "休日出勤", "")

活用例2:在庫管理

データ例:

A2: 商品名    B2: 在庫数    C2: 発注点    D2: ステータス

発注が必要な商品

=IF(OR(B2<=C2, D2="廃盤予定"), "発注検討", "")

解説:

  • 在庫が発注点以下または廃盤予定の商品を「発注検討」

緊急対応が必要な商品

=IF(OR(B2=0, D2="緊急", B2<C2*0.5), "緊急対応", "")

解説:

  • 在庫ゼロまたは緊急ステータスまたは在庫が発注点の半分未満

活用例3:成績管理

データ例:

A2: 生徒名    B2: 国語    C2: 数学    D2: 英語    E2: 出席率

補習対象者の判定

=IF(OR(B2<60, C2<60, D2<60, E2<0.8), "補習対象", "")

解説:

  • いずれかの科目が60点未満または出席率80%未満なら補習対象

表彰対象者の判定

=IF(AND(OR(B2>=95, C2>=95, D2>=95), E2>=0.95), "表彰候補", "")

解説:

  • いずれかの科目で95点以上かつ出席率95%以上なら表彰候補

よくあるエラーと対処法

エラー1:条件が正しく動作しない

問題のあるコード

=OR(A2="りんご" OR A2="みかん")  # エラー

正しいコード

=OR(A2="りんご", A2="みかん")

ポイント: OR関数内では,で条件を区切る

エラー2:文字列の比較で大文字小文字

問題例

=OR(A2="Apple", A2="apple")  # 「APPLE」は該当しない

解決策

=OR(UPPER(A2)="APPLE", A2="apple")

または

=OR(A2="Apple", A2="apple", A2="APPLE")

エラー3:数値の比較での誤差

問題例

=OR(A2=0.1, A2=0.2)  # 計算結果の0.1は該当しない場合がある

解決策

=OR(ABS(A2-0.1)<0.001, ABS(A2-0.2)<0.001)

パフォーマンスの考慮

効率的な書き方

避けたい書き方

=IF(A2="条件1", "結果", IF(A2="条件2", "結果", IF(A2="条件3", "結果", "")))

推奨する書き方

=IF(OR(A2="条件1", A2="条件2", A2="条件3"), "結果", "")

大量データでの注意点

配列数式での使用

# 配列数式として入力(Ctrl+Shift+Enter)
=SUM(IF(OR(A2:A100="条件1", A2:A100="条件2"), B2:B100, 0))

注意: 配列数式は処理が重くなる場合があります

まとめ:OR関数の使い方と判断ポイント

使い分けの指針

シーンおすすめ構文例使用場面
単純な条件判定=OR(条件1, 条件2)基本的なチェック
結果を文字で表示=IF(OR(...), "該当", "非該当")合格判定、ステータス表示
条件付き書式条件に OR(...) を使用視覚的な強調表示
複雑な条件=AND(条件, OR(条件1, 条件2))複合的な判定ロジック

学習の進め方

初心者向け

  1. 基本のOR関数から始める
  2. IF+ORの組み合わせをマスター
  3. 条件付き書式での活用を試す

中級者向け

  1. AND+ORの複合条件
  2. ネスト構造での複雑な判定
  3. 実務での応用パターン

上級者向け

  1. 配列数式での活用
  2. 他の関数との高度な組み合わせ
  3. パフォーマンス最適化

よく使う組み合わせ関数

  • IF + OR:条件分岐の基本
  • AND + OR:複雑な条件設定
  • COUNTIF + OR:複数条件での件数カウント
  • SUMIF + OR:複数条件での合計計算

コメント

タイトルとURLをコピーしました