OR関数の使い方・読み方|複数の条件のどれかを満たすか判定する

執筆者:

カテゴリ:

OR関数の使い方・読み方のイメージ

条件

OR関数の使い方・読み方

Excel関数辞典

読み方:OR は「オア」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

ORは、指定した条件のどれか1つでも満たすかどうかを判定する関数です。「または」の判定に使います。

使える環境Excel○Googleスプレッドシート○
このページの中身(25項目)
  1. 書式
  2. 基本の動き
  3. 実用例
  4. 条件付き書式で使う
  5. 足し算で代用できる
  6. ANDと組み合わせる
  7. XORもある
  8. 注意点
  9. 「または」が必要になる場面を見極める
  10. 足し算で置き換えられる理由
  11. 排他的な「または」を書きたいとき
  12. 条件が多いときの整理
  13. 条件を一覧で持つという設計
  14. 判定を分けて持つ
  15. 例外を条件に組み込む
  16. 「条件」の関数を全体から見る
  17. 数式を書く前の手順
  18. どの関数でも共通する確認
  19. 引き継ぐときに残すこと
  20. このサイトの収録状況
  21. よくある質問
  22. まとめ
  23. 関連する関数
  24. OR でつまずきやすいところ
  25. OR を使わずに書く

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

1つでも満たせば TRUE、すべて外れたときだけ FALSE を返します。

OR関数の使い方の記事構成図
OR関数の使い方:この記事で扱う内容

書式

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

条件はいくつでも並べられます。

基本の動き

=OR(A2 >= 80, B2 >= 80)

A2かB2のどちらかが80以上なら TRUE です。両方が80以上でも TRUE になります。「どちらか一方だけ」という意味ではない点に注意してください。

OR単体では TRUE / FALSE としか表示されないので、実務では IF の中で使います。

=IF(OR(A2 >= 80, B2 >= 80), "どちらか合格", "両方不合格")
OR関数の使い方の要点図
OR関数の使い方

実用例

複数の値のどれかに一致するか

=IF(OR(A2="東京", A2="神奈川", A2="千葉", A2="埼玉"), "首都圏", "地方")

これは最も多い使い方です。ただし、候補が増えると数式が長くなります。

候補が5つを超えたら COUNTIF を使うほうが短く、保守もしやすくなります。

=IF(COUNTIF(リスト!A:A, A2) > 0, "首都圏", "地方")

別シートにリストを持てば、数式を触らずに候補を追加できます。 対象が増減する運用ならこちらを推奨します。

除外条件をまとめる

=IF(OR(A2="", A2="-", A2="該当なし"), "未入力扱い", "有効")

「空欄」「ハイフン」「該当なし」を同じ扱いにする、といったデータの正規化に使えます。

期限切れか未処理かを検知する

=IF(OR(D2="未処理", E2<TODAY()), "要対応", "")

どちらか一方でも当てはまれば要対応、という判定です。

条件付き書式で使う

条件付き書式の「カスタム数式」に入れると、複数の条件のどれかに当たる行を目立たせられます。

=OR($D2 = "遅延", $D2 = "エラー", $D2 = "要確認")

列だけを $ で固定するのがポイントです。行を固定しないことで、各行がそれぞれ判定されます。

足し算で代用できる

配列を扱う数式の中では、ORはうまく働きません。代わりに足し算 + を使います。

=SUMPRODUCT((A2:A100="東京") + (A2:A100="大阪"))

TRUE は1、FALSE は0なので、足して1以上になれば「どちらか成立」です。足し算がORに相当します。

なお、両方が同時に成立しうる条件では合計が2になることがあります。件数を数える目的なら、>0 で1に丸めてください。

=SUMPRODUCT(((A2:A100="東京") + (A2:A100="大阪") > 0) * 1)

掛け算が AND に相当するのと対になっています。

ANDと組み合わせる

=IF(AND(OR(A2="東京", A2="大阪"), B2>=80), "対象", "対象外")

「東京または大阪、かつ80点以上」という判定です。

入れ子が2段を超えたら、途中の判定を別の列に出すほうが確実です。数式は短いほど間違いに気づけます。作業列は最後に非表示にすれば見た目も損ないません。

XORもある

「どちらか一方だけ」を判定したい場合は XOR を使います。

=XOR(A2>=80, B2>=80)

両方満たすと FALSE になります。使う場面は限られますが、「重複して申請されていないか」のようなチェックで役立ちます。

注意点

空白セルは条件によって扱いが変わります

A2="" は空欄なら TRUE ですが、A2=0 も空欄で TRUE になります。空欄と0を区別したいなら ISBLANK を使ってください。

大文字小文字は区別されません

A2="tokyo" は "TOKYO" にも一致します。区別したいなら EXACT を使います。

前後のスペースは区別されます

外部から取り込んだデータでは TRIM を挟むと安全です。


「または」が必要になる場面を見極める

条件をORで書く前に、そもそも本当にORが必要かを考える価値があります。実務では、ORで並べている条件が、データの持ち方を変えるだけで消えることがよくあります。

たとえば、東京か神奈川か千葉か埼玉なら対象、という条件を書いているとします。これは四つの条件をORで並べることになりますが、元データに「地域区分」という列を一本足して、これらをまとめて関東と入れておけば、条件は一つで済みます。県が増えたときも、数式ではなく区分の表を直すだけです。

同じことは、商品分類でも顧客区分でも起こります。ORが三つ以上並んでいたら、それは分類の列が足りていないという合図だと考えてください。

もうひとつ、条件が「特定のいずれか」ではなく「一覧に含まれるか」である場合は、件数を数える関数のほうが適しています。一覧を別の場所に置いて、そこに含まれるかどうかを判定する形です。一覧が増えても数式を触る必要がありません。

ORを使うのが自然なのは、性質の違う条件を並べる場合です。金額が大きいか、または期日が過ぎているか。この二つはまったく別の観点なので、区分にまとめることができません。こういう場合こそORの出番です。


足し算で置き換えられる理由

真偽値は内部的に一と零として扱われます。この性質を使うと、ORの代わりに足し算が書けます。

条件を足し合わせると、どれか一つでも真であれば一以上になります。ゼロより大きいかどうかを判定すれば、ORと同じ結果になります。

この書き方が必要になるのは、配列を扱う関数の中です。条件に合う行を抽出する関数や、配列に対して条件付きで集計する関数では、行ごとの真偽値の並びを条件として渡します。ORは複数の値をまとめて一つの真偽値にしてしまうため、行ごとの判定が失われます。足し算なら、行ごとの結果が並びとして残ります。

注意点として、複数の条件が同時に真になる行では、足した結果が二や三になります。単純に真偽値として扱う場面では問題ありませんが、そのまま件数として数えると重複します。ゼロより大きいかを判定して真偽値に戻すか、重複を意識した書き方にしてください。

かつ条件を掛け算、または条件を足し算、と対で覚えておくと、配列を扱う場面で迷わなくなります。


排他的な「または」を書きたいとき

日常語の「または」には二つの意味があります。どちらか一方でもよいという意味と、どちらか一方だけという意味です。ORは前者にあたります。両方が真の場合も真を返します。

どちらか一方だけが真のときにだけ真としたい場合は、排他的論理和を使います。二つの条件が異なるときに真、同じときに偽を返します。

使う場面は限られますが、たとえば入力の整合性チェックに使えます。二つの欄のうち、どちらか一方だけを埋めてほしい場合。両方埋まっていても、両方空でも不正、という判定ができます。

同じことをORとANDの組み合わせで書くこともできます。どちらかが真、かつ、両方が真ではない、という形です。読みやすさで選んでください。

三つ以上の条件に対しては、真の数を数えるほうが分かりやすくなります。条件を足し合わせて、結果がちょうど一かどうかを判定する形です。


条件が多いときの整理

ORで並べる条件が増えてきたら、いくつかの整理方法があります。

第一に、条件を一覧として外に出す方法です。判定に使う値を別の範囲に並べておき、その一覧に含まれるかどうかを判定します。条件の追加が一覧への行追加だけで済むので、保守が楽になります。

第二に、区分の列を作る方法です。前述のとおり、複数の値をまとめる区分があるなら、そちらで持つほうが自然です。

第三に、作業列で中間結果を出す方法です。条件のまとまりごとに真偽値を出しておき、最終判定はそれらを組み合わせるだけにします。どの条件で該当したのかも分かるようになります。

第四に、数式の中で改行する方法です。条件ごとに行を分けると、構造が見えます。動作は変わりません。

いずれの方法も、数式を短くすることが目的ではありません。後から読んで意図が分かる形にすることが目的です。三か月後の自分は他人だと思って書いてください。


条件を一覧で持つという設計

いずれかに該当するかを判定したい場合、条件を数式に並べるより、一覧として持つほうが保守しやすくなります。

対象となる値を別の範囲に並べておき、その一覧に含まれるかどうかを判定します。件数を数える関数で、一以上なら該当と判断できます。

この方法の利点は三つあります。第一に、対象が増えたときに一覧へ行を足すだけで済むことです。数式を触る必要がありません。第二に、現在の対象が一覧で見えることです。数式の中に埋もれていると、確認するのに読み解く必要があります。第三に、同じ一覧を複数の場所で使い回せることです。

欠点は、一覧を置く場所が必要になることです。専用のシートを作って非表示にする運用が一般的です。

判断の目安としては、対象が三つを超えたら一覧に外出しすることを検討してください。二つまでなら数式に書いても管理できますが、それ以上になると、どこに何が書いてあるか分からなくなります。


判定を分けて持つ

条件が複雑になったとき、一本の数式にまとめるより、作業列に分けるほうが結果的に楽になります。

条件のまとまりごとに列を用意し、それぞれで真偽値を出します。最終的な判定は、その列を組み合わせるだけです。

この方法の利点は、どの条件で該当したのかが見えることです。一本の数式では、結果が偽になったときに、どの条件で外れたのかが分かりません。列に分けておけば、一目で分かります。

もうひとつの利点は、条件の追加が容易なことです。列を一本足して、最終判定に加えるだけで済みます。数式を書き換える必要がありません。

表が汚れるという抵抗はありますが、作業列は非表示にできます。印刷にも影響しません。

他人が触るファイルでは、この方法を選んでください。数式を読み解けない人でも、どの条件で判定されているかが見えます。引き継ぎのときの説明も楽になります。

自分だけが使う一時的なファイルなら、一本にまとめても構いません。使い分けの基準は、そのファイルの寿命と、触る人の数です。


例外を条件に組み込む

業務のルールには例外がつきものです。原則はこうだが、この場合だけは違う。こうした例外を条件式に組み込むとき、書き方によって保守性が変わります。

例外を数式の中に直接書くと、なぜその条件があるのかが分からなくなります。特定の取引先だけを除外する条件が数式に埋まっていると、後から見た人はその意図を推測するしかありません。

推奨は、例外を一覧として外に出すことです。除外対象の一覧を作り、その一覧に含まれるかどうかで判定します。一覧には理由を書く列も添えておけば、なぜ例外なのかが記録されます。

例外が増えたときも、一覧に行を足すだけで済みます。数式は変わりません。

例外が減ったときも同様です。行を削除するか、有効期限の列を設けて期間で管理します。

この方法の利点は、例外の全体像が見えることです。数式に散らばっていると、いくつ例外があるのかも分かりません。一覧なら、件数も内容も一目で確認できます。

例外は増えていく性質があります。最初は一つでも、数年後には十を超えることが珍しくありません。最初から一覧で管理する形にしておけば、増えても破綻しません。

「条件」の関数を全体から見る

条件に含まれる関数を、全体から見ておきます。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに14本あります。

記事
AND
IF
IFERROR
IFNA
IFS
ISBLANK
ISERR
ISERROR
ISNA
ISNUMBER
ISTEXT
NOT
SWITCH
XOR

このカテゴリで共通するつまずき

文字列は引用符で囲む必要があります。囲み忘れが最も多い間違いです。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

分岐が3つを超えたら、数式ではなく対応表を引く形にしてください。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

手順を分けると、どこで詰まっているかが分かります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

文字列は引用符で囲む必要があります。囲み忘れが最も多い間違いです。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

分岐が3つを超えたら、数式ではなく対応表を引く形にしてください。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

以下は、どの関数を使っていても同じです。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

全201本を、次のカテゴリに分けて収録しています。

カテゴリ記事数
目的別51本
集計47本
文字列31本
日付19本
検索・参照15本
条件15本 ←この記事
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. 条件はいくつまで書けますか

実用上、困らない数を指定できます。ただし三つを超えたら、区分の列や一覧に外出しすることを検討してください。

Q. 空白セルはどう扱われますか

数値として比較すると零になります。意図しない判定を避けるため、先に空白を除外する条件を入れるのが確実です。

Q. 抽出の条件に使えません

配列に対する行ごとの判定では、ORではなく足し算を使ってください。

Q. ANDと混ぜられますか

できます。括弧で優先順位を明示してください。括弧がないと解釈が意図と違うことがあります。→ AND関数の使い方

Q. 結果をそのまま表示できますか

できます。真か偽かがそのまま返ります。

Q. 「〜以外」を書きたいのですが

否定の関数を使うか、不等号を二つ並べた記号で直接書けます。条件が単純なら後者のほうが読みやすくなります。

Q. 条件付き書式で使えますか

使えます。行全体に色を付ける場合は、列だけを固定して行は固定しない書き方にしてください。

Q. 集計の条件に使いたいのですが

条件付き集計の関数は、条件をすべて「かつ」で結びます。または条件は、条件ごとに集計して足すのが確実です。重複して数えられないかだけ確認してください。



まとめ

  • 書式は =OR(条件1, 条件2, ...)
  • 1つでも満たせば TRUE
  • 候補が5つを超えたら COUNTIF +リストに切り替える
  • 条件付き書式では列だけ $ で固定する
  • 配列の中では足し算 + で代用する

関連する関数

  • AND — すべて満たすかの判定
  • IF — ORの結果で表示を分ける
  • COUNTIF — リストに含まれるかの判定
  • IFS — 多分岐の中でORを使う
  • 関数一覧に戻る

OR でつまずきやすいところ

条件を1つの引数にまとめて書いている

=OR(A2="東京"or"大阪") のようには書けません。 引数を分けます。

=OR(A2="東京",A2="大阪")

選択肢が多いなら、COUNTIF で対応表を見るほうが短くなります。

=COUNTIF($H$2:$H$10,A2)>0

対象を増やすときに数式を触らずに済みます。

空欄が TRUE になる

=OR(A2<>"完了",B2<>"完了") は、両方空欄でも TRUE です。 未入力を除きたいなら、空欄チェックを先に置いてください。

条件付き書式で全部に色が付く

参照の固定を間違えている場合がほとんどです。 行全体に色を付けるなら列だけ固定します。

=OR($C2="至急",$D2="遅延")

OR を使わずに書く

SUMPRODUCT の中では、足し算が OR と同じ意味になります。

=SUMPRODUCT(((A2:A100="東京")+(A2:A100="大阪"))>0)

掛け算は AND、足し算は OR です。 足し算のままだと両方に当てはまる行が2と数えられるので、 >0 を付けて1に揃えています。

件数だけなら COUNTIF を2回足すほうが読みやすくなります。 ただし両方に当てはまる行があると二重に数えるので、 重複しない条件のときだけにしてください。