ExcelのOR関数の使い方|IF組み合わせと複数条件を解説

「どれか1つでも当てはまればOK」という条件、意外と出てきますよね。

たとえば「ステータスがキャンセルまたは保留なら要確認」のように、複数の候補のうちどれか1つにでも一致すれば反応させたい。でもIF関数だけでは、「または」の判定がうまく書けません。IF関数をいくつもネストすると、数式がすぐに読めなくなってしまいます。

そんなときはOR関数の出番です。この記事では、OR関数の基本的な使い方とIF関数との組み合わせを解説します。よくあるミスの対処法もまとめて紹介します。

この記事は次のような人におすすめ

  • OR関数の構文や使い方を知りたい
  • IF関数で「または」の条件分岐を作りたい
  • AND・OR・NOTの違いを整理したい
スポンサーリンク

OR関数とは?いずれか1つでも一致すれば判定できる論理関数

OR関数でできること・できないこと

OR関数は、指定した条件のうち1つでもTRUEなら全体をTRUEにする関数です。読み方は「オア関数」。英語の「or(または)」に由来し、論理学では「論理和」と呼ばれます。

できること

  • いずれか1つの条件を満たせばTRUEと判定する
  • IF関数と組み合わせて「または」の条件分岐を作る
  • 最大255個の条件を同時にチェックする

できないこと

  • 「すべて満たす」判定(→ AND関数を使う)
  • 条件に応じてセルの値を切り替える(→ IF関数と組み合わせる)

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

TRUE/FALSEで返ってくる仕組み(真理値表)

OR関数は、1つでもTRUEがあればTRUEを返します。全部FALSEのときだけFALSEです。

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

AND関数は「全部TRUEでないとTRUEにならない」のに対し、OR関数は「1つでもTRUE → TRUE、全部FALSEのときだけFALSE」です。この違いを押さえておくと迷いません。

スポンサーリンク

OR関数の書き方(構文と引数)

基本構文

OR関数の構文は次のとおりです。

=OR(論理式1, [論理式2], ...)
引数必須/省略可説明
論理式1必須判定したい条件(TRUE/FALSEに評価される式)
論理式2以降省略可追加の条件。最大255個まで指定できる

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

論理式の書き方と使える比較演算子一覧

論理式には比較演算子を使って条件を書きます。使える演算子は以下のとおりです。

演算子意味記述例
=等しいA1=100
<>等しくないA1<>””
>より大きいA1>80
<より小さいA1<50
>=以上A1>=90
<=以下A1<=30

セルの値を直接比較するのが基本です。テキストを比較するときはダブルクォーテーションで囲みます。なお、テキストの比較では大文字・小文字は区別されません。

=OR(A1>=80, B1="合格")
スポンサーリンク

OR関数の基本的な使い方

2つの条件のどちらかをチェックする

一番シンプルな例です。A1が80以上、またはB1が90以上かを判定します。

=OR(A1>=80, B1>=90)

A1が60、B1が95のとき、結果はTRUEです。片方だけ満たしていればOKなのがOR関数のポイントです。AND関数なら、A1が80未満の時点でFALSEになります。この違いが「かつ」と「または」の差です。

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

OR関数は最大255個の条件を指定できます。3つの条件でチェックしてみましょう。

=OR(A1="東京", A1="大阪", A1="名古屋")

セルの値が「東京」「大阪」「名古屋」のいずれかなら結果はTRUEです。条件が増えてもカンマで区切って追加するだけです。

地域の分類やステータスの振り分けなど、「この中のどれかに当てはまるか?」を判定する場面でよく使います。

スポンサーリンク

IF関数×OR関数で実務に使える条件分岐を作る

基本形:「または」の条件分岐

OR関数の実務での使い方は、IF関数との組み合わせが定番です。IF関数の第1引数にOR関数を入れます。

=IF(OR(条件1, 条件2), 真の値, 偽の値)

どれか1つでも条件を満たしたときに「真の値」を返す条件分岐が作れます。条件分岐を3つ以上に分けたい場合は、IFS関数も検討してみてください。

実務ユースケース1: 複数ステータスの判定

注文管理で「ステータスがキャンセルまたは保留」のとき、「要確認」と表示する例です。

B列にステータスが入っているとします。C2セルに次の数式を入力します。

=IF(OR(B2="キャンセル", B2="保留"), "要確認", "問題なし")

ステータスが「キャンセル」でも「保留」でも「要確認」と表示されます。「出荷済み」や「完了」なら「問題なし」です。

IF関数のネストで書くと次のようになります。

=IF(B2="キャンセル","要確認",IF(B2="保留","要確認","問題なし"))

OR関数なら条件をフラットに並べられるので、数式がずっと読みやすくなりますよね。

実務ユースケース2: 入力チェック(どちらかが空白なら警告)

データ入力で「氏名か電話番号のどちらかが空白」なら警告を出す例です。

A列に氏名、B列に電話番号が入っているとします。

=IF(OR(A2="", B2=""), "入力漏れあり", "OK")

A2かB2のどちらか一方でも空白なら「入力漏れあり」と表示されます。両方入力済みなら「OK」です。

ちなみにAND関数でも同じ結果が書けます。

=IF(AND(A2<>"", B2<>""), "OK", "入力漏れあり")

「どちらかが空白→NG」をOR関数で書くか、「どちらも入力済み→OK」をAND関数で書くか。考え方に合うほうを選んでください。

AND関数との組み合わせ(複合条件)

OR関数の中にAND関数を入れると、もう少し複雑な条件も書けます。

「正社員で勤続3年以上、または契約社員で勤続5年以上」なら対象とする例です。B列に雇用区分、C列に勤続年数が入っているとします。

=IF(OR(AND(B2="正社員",C2>=3), AND(B2="契約社員",C2>=5)), "対象", "対象外")

OR関数の引数として2つのAND関数を渡しています。「条件グループAまたは条件グループB」という形です。このようにAND関数とOR関数を組み合わせると、複雑な業務ルールも1つの数式で表現できます。

AND関数の使い方についてはAND関数の解説記事で詳しく紹介しています。

なお、複数条件で集計したいときはCOUNTIFS関数SUMIFS関数が便利です。1行ごとの判定にはIF×OR、集計にはCOUNTIFS・SUMIFSと使い分けましょう。

スポンサーリンク

よくあるミスとエラーの対処法

条件が思い通りに動かないパターン

OR関数で「結果がおかしい」というとき、よくある原因は次の3つです。

全部FALSEのつもりがTRUEになる

条件式の書き間違いが多いです。たとえば =OR(A1>80, A1>90) と書いたとき、A1が85なら最初の条件がTRUEなので全体もTRUEです。「80〜90の範囲外」を判定したつもりでも、OR関数はどれか1つでも当てはまれば即TRUEになります。意図した条件になっているか、1つずつ確認してみてください。

空セルの扱いに注意

空セルへの参照はFALSEとして評価されます。データ未入力の行で予想外の結果が出る場合は、空セルが原因かもしれません。

範囲指定の落とし穴

=OR(A1:A10="東京") のような書き方は要注意です。範囲に比較演算子をつけた配列形式は、通常の入力では正しく動きません。Ctrl+Shift+Enterで配列数式として入力する必要があります。Microsoft 365では動的配列に対応しているので通常入力でも動作します。

1セルずつ条件を書くほうが確実です。

=OR(A1="東京", A2="東京", A3="東京")

#VALUE!が出るときの原因と対処

OR関数で#VALUE!エラーが出る主な原因は、引数にテキスト文字列を直接渡しているケースです。

=OR("はい", "いいえ")

この書き方はエラーになります。テキスト文字列はOR関数では無視されるため、有効な論理値が一切含まれない場合に#VALUE!エラーが発生します。テキストを判定したい場合は比較演算子を使いましょう。

=OR(A1="はい", B1="いいえ")

数値の場合は0がFALSE、0以外がTRUEとして扱われます。ワイルドカード(*や?)は使えないので注意してください。エラー処理の詳細はIFERROR関数の記事も参考にしてみてください。

スポンサーリンク

AND・OR・NOT・XOR関数の使い分け

4関数の違いを比較表で確認

Excelの論理関数にはOR以外にもよく使う関数があります。それぞれの違いを表で整理します。

関数判定ルール引数の数使いどころ
ANDすべてTRUE → TRUE1〜255「かつ」の条件判定
OR1つ以上TRUE → TRUE1〜255「または」の条件判定
NOTTRUE⇔FALSE反転1つのみ条件の否定
XORTRUEが奇数個 → TRUE1〜255排他的条件の判定

ANDは「全部当てはまる?」、ORは「どれか1つでも当てはまる?」と考えるとわかりやすいです。XORは少し特殊です。OR(TRUE,TRUE)はTRUEですが、XOR(TRUE,TRUE)はFALSEになります。

ケース別: どの関数を使うか判断フロー

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

  • すべての条件を満たす必要があるAND関数
  • どれか1つ満たせばOK → OR関数(この記事)
  • 条件をひっくり返したい → NOT関数
  • 片方だけ満たすときにTRUEにしたいXOR関数

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

スポンサーリンク

まとめ

OR関数は、指定した条件のいずれか1つでも満たすかを判定する論理関数です。

  • 1つでもTRUEならTRUE、全部FALSEのときだけFALSE
  • IF関数と組み合わせて「または」の条件分岐を作るのが定番
  • 空セルはFALSEとして評価されるので注意
  • 「すべて満たす」判定にはAND関数、条件の否定にはNOT関数を使う

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

関数一覧

biz-tacticsではExcel関数の一覧を3パターンご用意しています。用途に合わせてお使いください。

各一覧の文字色が青くなっている関数はクリックすると解説ページを開くことができます。

エラー値についてのまとめ記事

関数でエラーが発生した際に表示される、エラーの種類を以下の記事でまとめています。

【Excel】セルに表示されるエラーの種類と原因、対処方法を解説

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