スプレッドシートのOR関数|IF組み合わせと複数条件を解説

スポンサーリンク

「スプレッドシートで条件のどれか1つでも当てはまるか判定したい」「部署が”営業”か”企画”のどちらかなら対象にしたい」。こんな場面、仕事でよくありますよね。

IF関数だけで複数パターンを判定しようとすると、ネストが深くなって数式が読みにくくなります。

そんなときに使うのが、スプレッドシートのOR関数です。この記事では構文と基本の使い方から、IF関数との組み合わせまで丁寧に解説します。AND関数との違いやエラーの対処法もまとめていますよ。

スプレッドシートのOR関数とは?

OR関数(読み方: オア関数)は、指定した条件のうち1つ以上がTRUEかどうかを判定する関数です。「OR」は英語の「〜または〜」に由来しています。日本語では「論理和」とも呼ばれます。

たとえば「欠席 または 遅刻」のどちらかに該当するかチェックする場面を考えてみましょう。どちらか1つでも当てはまればTRUEを返してくれます。

OR関数でできることをまとめると、次のとおりです。

  • 複数の条件のうち1つでも当てはまるか判定する
  • IF関数と組み合わせて「または」の条件分岐を作る
  • 最大255個の条件を同時にチェックする

OR関数単体はTRUE / FALSEを返すだけです。実務ではIF関数と組み合わせて使うことがほとんどですよ。

NOTE

OR関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。

スプレッドシートのOR関数の書き方(構文と引数)

基本構文

=OR(論理式1, [論理式2], ...)

カッコの中に、判定したい条件を1つ以上指定します。条件はカンマで区切って追加できます。

引数の説明

引数必須/任意説明
論理式1必須判定したい条件(例: A2=”営業”)
論理式2以降任意追加の条件。最大255個まで指定できる

引数は1つだけでも動きますが、複数条件をまとめて判定してこそ真価を発揮します。

TIP

論理式にはセル参照と比較演算子を組み合わせます。テキストを比較するときはダブルクォーテーションで囲んでください。例: A1="完了"

TRUE/FALSEの判定ルール

OR関数の結果は、1つでもTRUEがあればTRUEです。すべてFALSEのときだけFALSEになります。

条件1条件2OR関数の結果
TRUETRUETRUE
TRUEFALSETRUE
FALSETRUETRUE
FALSEFALSEFALSE

「1つでもOK → TRUE、全部NG → FALSE」と覚えておけば大丈夫ですよ。

AND関数とは正反対です。AND関数は「すべてTRUE → TRUE」ですが、OR関数は「1つでもTRUE → TRUE」になります。

OR関数の基本的な使い方

ここからは実際の数式で基本的な使い方を確認していきましょう。

どれか1つの条件を満たすか判定する

A列に部署名が入っているとします。「営業」か「企画」のどちらかに該当するかを判定してみましょう。

=OR(A2="営業", A2="企画")
  • A2=”営業”: 部署が営業か
  • A2=”企画”: 部署が企画か

A2が「営業」なら結果はTRUEです。「経理」ならFALSEになります。

3つ以上の条件にも対応する

OR関数は条件をカンマで追加するだけです。「営業」「企画」「広報」のいずれかに該当するかを判定してみましょう。

=OR(A2="営業", A2="企画", A2="広報")

条件が増えても書き方は同じです。ただし条件が5つを超えると数式が長くなります。そのときは対象リストを別の範囲に持たせてCOUNTIF関数で判定する方法も検討してみてください。

数値と文字列を組み合わせた条件

数値の比較と文字列の比較を混ぜることもできます。「金額が100万円以上 または ステータスが”緊急”」を判定する例です。

=OR(B2>=1000000, C2="緊急")

金額が高額なら無条件で対象にし、そうでなくても「緊急」なら対象にする、という使い方ですね。

IF関数×OR関数の実践テクニック

OR関数の実務での本領発揮は、IF関数との組み合わせです。OR単体のTRUE/FALSEではなく、条件に応じた文字列や数値を返せるようになります。

IF+ORで「いずれか満たす」条件分岐

IF関数の第1引数にOR関数を入れるのが基本形です。

=IF(OR(条件1, 条件2), TRUE値, FALSE値)

どれか1つでも条件を満たしたら「TRUE値」を返します。すべて満たさなければ「FALSE値」になります。

実務パターン1: 勤怠区分の判定

「遅刻 または 早退」のどちらかに該当したら「要確認」と表示する例です。B列に出勤時刻、C列に退勤時刻が入っています。

=IF(OR(B2>TIME(9,0,0), C2<TIME(17,30,0)), "要確認", "通常")

9時を過ぎて出勤したか、17時30分より前に退勤したかで判定します。どちらか一方でも当てはまれば「要確認」です。勤怠チェックの手間がぐっと減りますよ。

実務パターン2: 優先対応の振り分け

「カテゴリが”クレーム” または 対応期限が今日以前」なら「優先」と表示する例です。

=IF(OR(A2="クレーム", B2<=TODAY()), "優先", "通常")

クレーム案件は常に優先対応、それ以外でも期限切れなら優先にする、というロジックです。対応漏れの防止に役立ちますよ。

実務パターン3: OR+ANDの複合条件

OR関数とAND関数を組み合わせると、より複雑な条件を表現できます。「(売上100万以上 かつ 新規顧客) または VIP顧客」を判定する例です。

=IF(OR(AND(B2>=1000000, C2="新規"), D2="VIP"), "特別対応", "通常")

ANDで「売上100万以上かつ新規」を判定し、ORで「またはVIP」と組み合わせています。括弧の入れ子が深くなるので、数式を分割して別セルに書くのもおすすめです。

TIP

条件分岐を3段階以上に分けたい場合は、IFS関数も検討してみてください。OR関数と組み合わせれば「いずれか満たす」条件を複数パターンで判定できます。

よくあるエラーと対処法

OR関数で「結果がおかしい」「エラーが出る」というときの原因と対処法をまとめます。

エラー一覧と対処法

エラー・症状原因対処法
#VALUE!引数に文字列を直接指定した(例: =OR("はい", TRUE)比較演算子を使う(例: =OR(A1="はい")
常にTRUEになる条件式の書き方が間違っている(例: =OR(A1="東京", "大阪")各条件を独立した論理式にする(例: =OR(A1="東京", A1="大阪")
常にFALSEになるセルが空白でFALSEとして扱われているIF関数で空白チェックを先に行う
予想と逆の結果比較演算子の間違い(>= と > の取り違え)境界値を含むかどうか確認する
#ERROR!括弧の閉じ忘れ・カンマの過不足数式バーで括弧の対応を確認する
数値が0のときFALSE0はFALSEとして扱われる仕様0を有効値にしたい場合は A1>=0 のように比較式にする

空白セルに注意する

OR関数に空白セルが含まれると、その引数はFALSEとして扱われます。すべての引数が空白なら結果はFALSEです。

=IF(AND(A2<>"", B2<>""), OR(A2="対象", B2>=100), "未入力")

事前に空白チェックを入れておくと、意図しない結果を防げますよ。

条件式の書き方でよくある間違い

最も多い間違いが「1つのセルに対する複数値チェック」です。

× =OR(A1="東京", "大阪")
○ =OR(A1="東京", A1="大阪")

2つ目の条件にもセル参照と比較演算子が必要です。「”大阪”」だけだと文字列がそのまま評価されてしまいます。Googleスプレッドシートでは文字列はTRUEとして扱われるため、常にTRUEになってしまいますよ。

OR関数とAND関数の違い・使い分け

比較表で違いを確認

スプレッドシートの論理関数には、OR以外にもよく使う関数があります。違いを表で整理しましょう。

関数判定ルール使いどころ
OR1つ以上TRUE → TRUE「または」の条件判定
ANDすべてTRUE → TRUE「かつ」の条件判定
NOTTRUE⇔FALSEを反転条件の否定

OR関数は「どれか1つでも当てはまる?」、AND関数は「全部当てはまる?」と考えるとわかりやすいです。

どの関数を使うか判断する

迷ったときは次の基準で選んでみてください。

  • どれか1つ満たせばOK → OR関数
  • すべての条件を満たす必要がある → AND関数
  • 条件をひっくり返したい → NOT関数(TRUE/FALSEを反転する関数)

実務で使用頻度が高いのはOR関数とAND関数です。まずはこの2つを押さえておけば十分ですよ。

AND+ORを組み合わせた高度な条件分岐

AND関数とOR関数は入れ子にできます。「(部署が”営業” または “企画”) かつ 売上が100万円以上」を判定する例です。

=IF(AND(OR(A2="営業", A2="企画"), B2>=1000000), "対象", "対象外")

ORで「営業 または 企画」を判定し、ANDで「売上100万円以上」と組み合わせています。入れ子が深くなるときは、別セルに中間結果を出す方法も試してみてください。

まとめ

OR関数は、複数の条件のうちどれか1つでも当てはまるかを判定する論理関数です。

  • 1つでもTRUEならTRUE、すべてFALSEならFALSE
  • IF関数と組み合わせて「または」の条件分岐を作るのが定番
  • 空白セルはFALSEとして扱われるので注意
  • 「かつ」の判定にはAND関数を使う

まずはIF関数×OR関数の組み合わせから試してみてください。勤怠チェックや優先対応の振り分けなど、実務ですぐに使える場面がたくさんありますよ。

複数条件でデータを集計したい場合は、SUMIFS関数も合わせてチェックしてみてください。

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