「どれか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個の条件を同時にチェックする
できないこと
OR関数単体ではTRUE / FALSEを返すだけです。実務ではIF関数と組み合わせて使うことがほとんどです。
TRUE/FALSEで返ってくる仕組み(真理値表)
OR関数は、1つでもTRUEがあればTRUEを返します。全部FALSEのときだけFALSEです。
| 条件1 | 条件2 | OR関数の結果 |
|---|---|---|
| TRUE | TRUE | TRUE |
| TRUE | FALSE | TRUE |
| FALSE | TRUE | TRUE |
| FALSE | FALSE | FALSE |
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 → TRUE | 1〜255 | 「かつ」の条件判定 |
| OR | 1つ以上TRUE → TRUE | 1〜255 | 「または」の条件判定 |
| NOT | TRUE⇔FALSE反転 | 1つのみ | 条件の否定 |
| XOR | TRUEが奇数個 → TRUE | 1〜255 | 排他的条件の判定 |
ANDは「全部当てはまる?」、ORは「どれか1つでも当てはまる?」と考えるとわかりやすいです。XORは少し特殊です。OR(TRUE,TRUE)はTRUEですが、XOR(TRUE,TRUE)はFALSEになります。
ケース別: どの関数を使うか判断フロー
迷ったときは次の基準で選んでみてください。
実務で使用頻度が高いのはAND関数とOR関数です。まずはこの2つを押さえておけば十分です。
まとめ
OR関数は、指定した条件のいずれか1つでも満たすかを判定する論理関数です。
- 1つでもTRUEならTRUE、全部FALSEのときだけFALSE
- IF関数と組み合わせて「または」の条件分岐を作るのが定番
- 空セルはFALSEとして評価されるので注意
- 「すべて満たす」判定にはAND関数、条件の否定にはNOT関数を使う
まずはIF関数×OR関数の組み合わせから試してみてください。ステータスの振り分けや入力チェックなど、実務ですぐに使える場面がたくさんありますよ。
関数一覧
biz-tacticsではExcel関数の一覧を3パターンご用意しています。用途に合わせてお使いください。
各一覧の文字色が青くなっている関数はクリックすると解説ページを開くことができます。
エラー値についてのまとめ記事
関数でエラーが発生した際に表示される、エラーの種類を以下の記事でまとめています。
