エクセル作業を効率化する上で、特定の条件に基づいてデータを抽出したり、処理を変えたりする必要がある場面は少なくありません。
そんな時に活躍するのが「OR関数」です。
この関数を使いこなせば、複数の条件のうちどれか一つでも満たせばOKといった柔軟な条件設定が可能となり、複雑なデータ分析や業務プロセスの自動化を大きく推進できるでしょう。
本記事では、エクセルのOR関数の基本的な使い方から、AND関数との組み合わせによる高度な条件設定、さらには具体的な活用例までをわかりやすく解説していきます。
ぜひ最後まで読んで、エクセル作業のスキルアップに役立ててください。
OR関数は複数の条件のうちいずれか一つでも満たせば真を返す!
それではまず、エクセルにおけるOR関数の基本的な働きと使い方について解説していきます。
OR関数は、指定された複数の条件のうち、どれか一つでも真(TRUE)であれば、結果として真(TRUE)を返す論理関数です。
全ての条件が偽(FALSE)であった場合にのみ、結果が偽(FALSE)となります。
OR関数の基本的な書式と入力方法
OR関数の書式は非常にシンプルです。
以下の書式で、引数には評価したい条件を複数指定できます。
=OR(論理式1, [論理式2], …)
論理式1: 最初に評価する条件。
[論理式2], …: 任意で追加する2つ目以降の条件。最大255個まで指定可能です。
エクセルシートに直接入力するか、「関数の挿入」ダイアログボックスから選択して使用できます。
簡単な例でOR関数の仕組みを理解する
実際に簡単な例を使って、OR関数の動作を見てみましょう。
例えば、ある学生の試験結果で「国語が80点以上」または「数学が70点以上」であれば合格と判断したい場合を考えます。
セルA2に国語の点数、セルB2に数学の点数が入っているとします。
この場合、OR関数は次のように記述します。
=OR(A2>=80, B2>=70)
この式は、A2の値が80以上であるか、またはB2の値が70以上であれば「TRUE」を返し、どちらの条件も満たさない場合に「FALSE」を返します。
| セル | 内容 | OR関数 (=OR(A2>=80, B2>=70)) | 結果 |
|---|---|---|---|
| A2 | 85 (国語) | TRUE (85>=80) | TRUE |
| B2 | 65 (数学) | FALSE (65>=70) | |
| A3 | 70 (国語) | FALSE (70>=80) | TRUE |
| B3 | 75 (数学) | TRUE (75>=70) | |
| A4 | 75 (国語) | FALSE (75>=80) | FALSE |
| B4 | 60 (数学) | FALSE (60>=70) |
TRUE/FALSEの結果をIF関数で応用する
OR関数の結果はTRUEまたはFALSEという論理値ですが、これをそのまま利用するだけでは実用的ではありません。
多くの場合、OR関数の結果をIF関数と組み合わせて、具体的なテキストや数値、別の処理を実行させます。
先ほどの例で、「合格」または「不合格」と表示させたい場合は、次のように記述します。
=IF(OR(A2>=80, B2>=70), “合格”, “不合格”)
この式により、条件を満たせば「合格」、満たさなければ「不合格」という明確な結果が表示されるため、データ分析やリスト作成が格段に便利になります。
AND関数とOR関数の違いと使い分けを理解する
続いては、OR関数とよく比較されるAND関数について確認していきましょう。
エクセルにはOR関数の他に、AND関数という論理関数もあります。
これら二つの関数はどちらも条件を評価しますが、その結果の出し方に大きな違いがあるのです。
AND関数の基本動作と書式
AND関数は、指定された複数の条件が全て真(TRUE)である場合にのみ、結果として真(TRUE)を返します。
一つでも偽(FALSE)の条件があれば、結果は偽(FALSE)となります。
書式はOR関数とほぼ同じです。
=AND(論理式1, [論理式2], …)
例えば「国語が80点以上」かつ「数学が70点以上」であれば合格としたい場合、AND関数を使用します。
=AND(A2>=80, B2>=70)
OR関数との結果の違いを比較する
AND関数とOR関数の違いを、先ほどの学生の試験結果の例で比較してみましょう。
条件は「国語が80点以上(A2>=80)」と「数学が70点以上(B2>=70)」です。
| 国語 (A列) | 数学 (B列) | OR関数結果 (=OR(A>=80, B>=70)) | AND関数結果 (=AND(A>=80, B>=70)) |
|---|---|---|---|
| 85 | 75 | TRUE (国語も数学も条件達成) | TRUE (国語も数学も条件達成) |
| 85 | 65 | TRUE (国語が条件達成) | FALSE (数学が条件未達成) |
| 70 | 75 | TRUE (数学が条件達成) | FALSE (国語が条件未達成) |
| 75 | 60 | FALSE (どちらも条件未達成) | FALSE (どちらも条件未達成) |
この表からわかるように、OR関数は「いずれか」が真であればTRUEを返し、AND関数は「すべて」が真でなければTRUEを返しません。
状況に応じた適切な関数の選び方
どちらの関数を選ぶかは、達成したい目的に応じて判断します。
OR関数を使うべき場面
- 複数の選択肢の中から一つでも条件を満たせば良い場合
- 「AまたはB」といった排他的ではない選択をしたい場合
- 例えば「顧客がA地域出身またはB商品を購入済みの場合にDMを送る」といったケース
AND関数を使うべき場面
- 全ての条件を同時に満たす必要がある場合
- 「AかつB」といった複合的な条件を課したい場合
- 例えば「在庫が100個以下かつ売上が前月比120%以上の場合に生産計画を見直す」といったケース
これらの違いを理解し、適切に使い分けることで、エクセルでのデータ処理がより正確かつ効率的になります。
OR関数とAND関数を組み合わせた複雑な条件設定
続いては、OR関数とAND関数を組み合わせる方法について確認していきましょう。
OR関数とAND関数は、それぞれ単独でも強力ですが、これらを組み合わせることで、さらに複雑で柔軟な条件設定が可能になります。
これを「ネスト(入れ子)」と呼び、高度なデータ分析や業務処理に不可欠なテクニックです。
両方の条件を満たす、またはどちらかの条件を満たすケース
AND関数とOR関数を組み合わせることで、「AかつB、またはC」や「AまたはBかつC」といった、より詳細な条件を表現できます。
具体的な例を挙げてみましょう。
例えば、「商品Aの在庫が50個未満で(AND条件1)、かつ売上が目標値(100万円)を超えている(AND条件2)場合、または、商品Bの在庫が100個未満である(OR条件)」という状況で、対応が必要か判断したいとします。
この場合、次のように関数をネストできます。
=OR(AND(商品A在庫<50, 商品A売上>1000000), 商品B在庫<100)
この式では、まずAND関数で「商品Aの在庫と売上の条件」を評価し、その結果と「商品Bの在庫条件」をOR関数で評価します。
ANDとORをネストする際の注意点
AND関数とOR関数をネストする際には、論理式の括弧の付け方に細心の注意が必要です。
括弧の場所一つで、関数の評価順序が変わり、結果が大きく異なってしまうためです。
数学の計算と同じように、内側の括弧から順に評価されることを意識して式を組み立てましょう。
例えば、「(条件Aかつ条件B)または条件C」と「条件Aかつ(条件Bまたは条件C)」では、意味合いが全く異なります。
複雑な条件になるほど、紙に書き出して論理構造を整理してからエクセルに入力すると良いでしょう。
ネスト時のポイント
- 論理の優先順位を明確にする
- 括弧を正確に使用する
- 複雑な場合は段階的に式を作成し、動作を確認しながら進める
具体的なビジネスシーンでの組み合わせ活用例
このANDとORの組み合わせは、ビジネスシーンで非常に役立ちます。
-
営業リストの絞り込み: 「見込み顧客で、過去に購入履歴がないANDメールアドレスが登録されているOR電話番号が登録されている」といった条件でリストを抽出できます。
-
在庫管理: 「商品Aの在庫が危険水準AND発注数が最低発注量を下回っているOR商品Bがシーズンオフで在庫が多い」といった条件でアラートを出すことが可能です。
-
人事評価: 「目標達成率が100%以上AND顧客満足度が平均以上OR研修参加回数が規定以上」といった複合的な評価基準を設定できます。
このように、ANDとORを組み合わせることで、実際の業務に即した柔軟な条件設定とデータ処理を実現できます。
複数条件を効率的に設定する具体的なテクニック
続いては、複数条件を効率的に設定する具体的なテクニックを確認していきましょう。
OR関数は、複数の条件を扱う際に非常に便利ですが、さらに効率的に、そしてスマートに条件を設定するためのテクニックがいくつかあります。
3つ以上の条件をOR関数で扱う方法
OR関数は、先ほども説明したように、最大255個の論理式を引数として受け入れられます。
これは、非常に多くの条件を一度に評価できることを意味します。
例えば、「AまたはBまたはCまたはD…」といった条件を設定したい場合、単純に引数を増やしていけば良いのです。
=OR(A2=”東京”, B2=”大阪”, C2=”名古屋”, D2=”札幌”)
この例では、いずれかのセルが指定された都市名と一致すればTRUEを返します。
多くの条件がある場合でも、この書式を続けるだけで対応できるため、非常にシンプルです。
数値や文字列を含む多様な条件指定
OR関数の引数には、数値の比較だけでなく、文字列の一致、日付の比較、さらには他の関数から返される結果など、多様な条件を指定できます。
-
数値の範囲: 「売上が1000円以上OR5000円以下」といった、特定の範囲外の値を検出する際にOR関数が役立ちます。
=OR(A2<1000, A2>5000)
-
文字列の一致: 特定のキーワードが含まれるかどうかを判断する場合にも使えます。
=OR(FIND(“エラー”, A2)>0, FIND(“問題”, A2)>0)
この例では、A2セルに「エラー」または「問題」という文字列が含まれていればTRUEを返します。
-
日付の比較: 特定の期間内の日付かどうかを判断する場合にも使えます。
=OR(A2
DATE(2023,12,31)) これは、2023年以外の期間の日付を検出する例です。
このように、数値、文字列、日付など、さまざまな種類のデータをOR関数の条件として設定できるため、活用の幅は非常に広いです。
複数のOR関数をネストする際の考え方
稀なケースですが、複数のOR関数をネストして、さらに複雑な論理を構築することも可能です。
例えば、「(AまたはB)または(CまたはD)」といった状況です。
=OR(OR(条件A, 条件B), OR(条件C, 条件D))
これは、実質的にすべての条件を一つにまとめたOR関数と同じ結果になりますが、論理構造を分割して記述したい場合や、条件群をグループ化して管理したい場合に有効です。
ただし、過度にネストすると式の可読性が低下し、デバッグが難しくなるため、必要最小限に留めるのが賢明でしょう。
OR関数のよくあるエラーとその解決策
続いては、OR関数のよくあるエラーとその解決策について確認していきましょう。
エクセルで関数を使う際、意図しないエラーに遭遇することは珍しくありません。
OR関数も例外ではなく、いくつかの一般的なエラーパターンがあります。
これらを事前に理解し、対処法を知っておくことで、スムーズに作業を進められます。
エラーの種類と原因を特定する
OR関数でよく見られるエラーは、主に以下の2つです。
-
#VALUE! エラー: これは、関数の引数に無効な値が指定された場合に発生します。
OR関数に数値や論理値以外(例えば、テキスト文字列でTRUEやFALSEとして認識されないもの)を直接入力しようとしたり、参照しているセルに誤ったデータ型が含まれていたりする場合に発生しやすいです。
-
#NAME? エラー: これは、関数名が正しく入力されていない場合に発生します。
例えば、「OR」を「OR」と全角で入力したり、「OOR」と打ち間違えたりすると、エクセルが関数として認識できず、このエラーが表示されます。
論理値エラー(#VALUE!)の対処法
#VALUE! エラーが発生した場合の主な対処法は以下の通りです。
-
引数のデータ型を確認する: OR関数に渡している引数が、論理式として評価できる形式であるかを確認してください。
数値の比較(A2>100)や文字列の一致(B2=”OK”)など、エクセルがTRUE/FALSEを判断できる形式になっているかをチェックします。
-
参照元のセル内容を確認する: OR関数が参照しているセルに、予期せぬテキストやエラー値が入っていないか確認しましょう。
例えば、数値が入るべきセルに誤って「不明」といったテキストが入力されていると、そのセルを参照した論理式がエラーになることがあります。
-
IFERROR関数と組み合わせる: エラーが避けられない、または特定の状況でのみ発生する場合は、IFERROR関数を使ってエラー表示を抑制し、代わりに代替のメッセージを表示させることも有効です。
=IFERROR(OR(A2>=80, B2>=70), “入力エラー”)
このようにすることで、ユーザーフレンドリーなシートを作成できます。
条件が意図せずTRUE/FALSEになる場合の確認ポイント
エラーではないものの、OR関数の結果が期待と異なるTRUE/FALSEになる場合もあります。
この場合の確認ポイントは以下の通りです。
-
括弧の位置を確認する: 特にAND関数とOR関数をネストしている場合、括弧の位置が論理の評価順序を決定します。
意図した評価順になっているかを再確認しましょう。
-
条件式の記述ミス: 「>=」と「>」の違い、「=」の有無など、比較演算子の記述が正しいか確認します。
また、文字列の比較では、全角半角、大文字小文字の違いで一致しない場合があるため、注意が必要です。
-
空白セルや0の扱い: 空白セルは、数値の比較においては0として扱われたり、文字列の比較においては空文字列として扱われたりすることがあります。
これが意図しない結果につながる場合があるため、空白セルの扱いに注意しましょう。
これらのポイントを確認することで、OR関数の期待通りの動作を実現し、正確なデータ処理に繋げられます。
まとめ
本記事では、エクセルでOR関数を使う基本的な方法から、複数条件の指定、AND関数との組み合わせ、さらには実践的な活用テクニックやよくあるエラーとその解決策までを幅広く解説しました。
OR関数は、複数の条件のうち一つでも満たせば真を返すという特性を持ち、IF関数と組み合わせることで、「合格」「不合格」のような具体的な判断を下すことが可能になります。
また、AND関数との違いを理解し、適切に使い分けることで、より複雑な論理構造を持つ条件設定にも対応できるようになります。
特に、ANDとORをネストするテクニックは、営業リストの絞り込みや在庫管理、人事評価など、多様なビジネスシーンで強力なツールとなるでしょう。
エラーに遭遇した際も、#VALUE!や#NAME?といったエラーの種類と原因を特定し、適切な対処法を講じることで、スムーズに問題を解決できます。
これらの知識とテクニックを習得することで、エクセルでのデータ分析や業務効率化が飛躍的に向上するはずです。
ぜひ本記事で学んだ内容を日々のエクセル作業に取り入れ、よりスマートなデータハンドリングを目指してください。