Excel

【Excel】エクセルのOR関数の使い方(複数条件・AND関数との組み合わせ)

エクセルのOR関数の使い方【どれか1つの条件を満たす判定】 - 数式を入力してオートフィルする手順
当サイトでは記事内に広告を含みます
いつも記事を読んでいただきありがとうございます!!! これからもお役に立てる各情報を発信していきますので、今後ともよろしくお願いします(^^)/

エクセルで複数の条件を確認するとき、「どれか1つでも当てはまればよい」という場面は少なくありません。

たとえば、売上が目標額を超えた担当者、または新規契約を獲得した担当者を抽出したい場合、OR関数を使うと判定を1つの数式にまとめられます。

OR関数は複数の条件のうち、1つでもTRUEならTRUEを返す関数です。

OR関数の基本形

=OR(論理式1,論理式2,論理式3)

いずれかの論理式が成立した場合にTRUEとなります。

この記事では、OR関数の基本、複数条件の判定、IF関数やAND関数との組み合わせ、よくあるエラーまでを順番に確認していきましょう。

 

エクセルのOR関数の使い方【どれか1つの条件を満たす判定】

それではまず、OR関数で複数条件を判定する基本的な使い方について解説していきます。

担当者 売上 新規契約数 判定
田中 120000 1 TRUE
佐藤 80000 2 TRUE
鈴木 70000 0 FALSE

 

OR関数の書式とTRUE・FALSEの結果

OR関数の書式を確認していきます。

OR関数は、条件として指定した論理式を左から順番に確認し、1つでも成立していればTRUEを返します。

=OR(B2>=100000,C2>=2)

B2の売上が100000以上、またはC2の新規契約数が2以上ならTRUEです。

上のサンプルでは、D2セルに数式を入力します。

田中さんは売上が120000であるため、契約数が1件でも最初の条件を満たしています。

佐藤さんは売上が100000未満ですが、新規契約数が2件なので2つ目の条件を満たします。

すべての条件が不成立である場合にだけ、OR関数の結果はFALSEになります。

条件の比較には、以上を表す>=、以下を表す<=、等しいことを表す=などを使います。

【操作のポイント】OR関数は、条件をカンマで区切って入力します。セル範囲そのものではなく、B2>=100000のような比較式を指定する点が重要です。

 

数式を入力してオートフィルする手順

続いては、数式を入力して下の行へコピーする流れを確認していきます。

エクセルのOR関数の使い方【どれか1つの条件を満たす判定】 - 数式を入力してオートフィルする手順

D2セルを選択し、数式バーまたはセル内に=OR(B2>=100000,C2>=2)と入力します。

Enterキーを押すと、条件に応じてTRUEまたはFALSEが表示されます。

数式を入力したD2セルの右下にある小さな四角へマウスポインターを合わせると、黒い十字の形に変わります。

そのまま下方向へドラッグすると、行番号に合わせてB3、C3、B4、C4というように参照先が自動調整されます。

サンプルデータでは1行目を見出し行とし、数式は2行目から入力すると、表全体を扱いやすくなります。

入力するセルはD2です。

数式は=OR(B2>=100000,C2>=2)です。

オートフィル後のD3では=OR(B3>=100000,C3>=2)へ自動的に変化します。

【操作のポイント】数式をコピーする前に、参照したい列が正しいかを確認しましょう。列を増減した後は、数式内のセル参照が意図どおりか見直す習慣が役立ちます。

 

文字列を条件に指定する方法

続いては、数値ではなく文字列を条件にする方法を確認していきます。

エクセルのOR関数の使い方【どれか1つの条件を満たす判定】 - 文字列を条件に指定する方法

OR関数では、部署名、ステータス、都道府県などの文字列も判定できます。

たとえば、A列に部署名があり、営業部または企画部であるかを確認するなら、=OR(A2=”営業部”,A2=”企画部”)と入力します。

文字列を数式内へ直接書くときは、必ず半角のダブルクォーテーションで囲みます。

ダブルクォーテーションを付けないと、エクセルは文字ではなく名前や参照として解釈しようとするため、エラーにつながることがあります。

文字列の判定では、全角と半角、余分な空白、表記ゆれにも注意が必要です。

「営業部」と「営業 部」は別の文字列として扱われます。

【操作のポイント】文字列の条件が多い場合は、入力規則で表記を統一しておくと、OR関数の判定漏れを減らせます。

 

IF関数とOR関数による複数条件の表示

続いては、OR関数のTRUE・FALSEを見やすい文章へ変換する方法を確認していきます。

売上 新規契約数 評価結果
120000 1 対象
80000 2 対象
70000 0 対象外

 

IF関数の中にOR関数を入れる数式

IF関数とOR関数を組み合わせる基本形について解説していきます。

=IF(OR(B2>=100000,C2>=2),”対象”,”対象外”)

いずれかの条件に当てはまる場合は対象、それ以外は対象外と表示します。

IF関数は、条件が成立したときの表示と、成立しないときの表示を分ける関数です。

ここではIF関数の最初の引数にOR関数を入れています。

OR関数の結果がTRUEなら「対象」、FALSEなら「対象外」が返される仕組みです。

TRUEやFALSEを直接見せたくない一覧表では、IF関数との組み合わせが特に便利です。

文字列を表示する部分はダブルクォーテーションで囲みます。

【操作のポイント】IF関数のかっこを閉じる位置を確認しましょう。OR関数を閉じてから、IF関数の表示内容をカンマ区切りで指定します。

 

空白セルを含むデータの扱い

続いては、空白セルが混じる表での判定を確認していきます。

IF関数とOR関数による複数条件の表示 - 空白セルを含むデータの扱い

売上や契約数が未入力の行で判定を表示したくない場合は、最初に空白かどうかを確認します。

=IF(COUNTA(B2:C2)=0,””,IF(OR(B2>=100000,C2>=2),”対象”,”対象外”))

B2とC2の両方が空白なら空欄を返し、入力がある場合だけOR関数で判定します。

COUNTA関数は、空白ではないセルの個数を数える関数です。

COUNTA(B2:C2)=0は、B2からC2までに入力済みセルが1つもない状態を意味します。

未入力行まで対象外と表示されるのを防ぎたいときは、空白判定を先に置くと一覧表が整います。

【操作のポイント】数式で空欄を返す場合は、””を指定します。半角スペースを入れる方法とは異なり、後から空白セルとして扱いやすい書き方です。

 

条件付き書式へのOR関数の活用

続いては、OR関数を条件付き書式に使う方法を確認していきます。

IF関数とOR関数による複数条件の表示 - 条件付き書式へのOR関数の活用

対象者の行を色付けしたい場合、条件付き書式の数式にOR関数を指定できます。

表の範囲を選択してから、ホームタブの条件付き書式、ルールの管理、新しいルールと進みます。

数式を使用して、書式設定するセルを決定を選び、=OR($B2>=100000,$C2>=2)を入力します。

列記号の前に付けた$は、書式を横方向へ適用しても判定列を固定するための記号です。

行番号の2には$を付けないため、3行目以降では自動的に3、4へ変化します。

書式ボタンで塗りつぶし色を選べば、条件に一致する行だけを視覚的に見つけられます。

【操作のポイント】条件付き書式の数式は、選択範囲の左上セルを基準に作成します。範囲がA2:D100なら、数式も2行目を基準に入力しましょう。

 

OR関数とAND関数を組み合わせる条件式

続いては、OR関数とAND関数を組み合わせ、より複雑な条件を作る方法を確認していきます。

売上 契約数 評価
130000 2 優遇
90000 3 優遇
90000 1 通常

 

AND関数とOR関数の役割の違い

OR関数とAND関数の違いについて解説していきます。

AND関数は、指定した条件がすべてTRUEのときだけTRUEを返します。

一方のOR関数は、複数条件のうち1つ以上がTRUEならTRUEです。

=AND(B2>=100000,C2>=2)

売上が100000以上で、かつ契約数が2以上のときだけTRUEです。

=OR(B2>=100000,C2>=2)

売上または契約数のどちらかが基準を満たせばTRUEです。

「かつ」はAND関数、「または」はOR関数と考えると、数式の組み立てがわかりやすくなります。

【操作のポイント】文章の条件を数式にする前に、「かつ」と「または」を丸で囲むように整理すると、ANDとORを選びやすくなります。

 

複数グループの条件をORでつなぐ方法

続いては、AND条件を複数作り、それらをOR関数でつなぐ方法を確認していきます。

=IF(OR(AND(B2>=120000,C2>=2),AND(B2>=90000,C2>=3)),”優遇”,”通常”)

売上120000以上かつ契約2件以上、または売上90000以上かつ契約3件以上なら優遇です。

この式では、最初のAND関数と2つ目のAND関数がそれぞれ1つの条件グループになっています。

OR関数は、そのどちらかのグループが成立した場合にTRUEを返します。

複雑な数式では、先にAND関数ごとの条件グループを作り、最後にOR関数で包むと構造を見失いにくくなります。

数式バーで編集するときは、対応するかっこの位置を確認しながら入力しましょう。

【操作のポイント】長い数式は、数式バーを広げて確認すると読みやすくなります。関数の色分け表示も、かっこの対応を確かめる助けになります。

 

Excel画面で数式を確認する手順

続いては、OR関数とAND関数を入力した画面の見方を確認していきます。

営業評価.xlsx – Excel− □ ×
ホーム挿入ページ レイアウト数式データ
B I U
フォント
▤ ≡
配置
▦
罫線
D2fx=IF(OR(AND(B2>=120000,C2>=2),AND(B2>=90000,C2>=3)),”優遇”,”通常”)
➤
D2に数式を入力
A B C D
1 担当者 売上 契約数 評価
2 田中 130000 2 優遇
3 佐藤 90000 3 優遇

数式バーには、選択中のD2セルで使われている数式全体が表示されます。

D2の右下にあるフィルハンドルを下へドラッグすれば、数式を次の行へコピーできます。

赤枠で選択されたセルと数式バーを見比べることで、どのセルにどの判定式が入っているかを確認できます。

【操作のポイント】エラーが出た場合は、最初に数式バーを見て、ダブルクォーテーション、カンマ、かっこの数を確認してください。

 

OR関数で使う比較演算子とセル参照

続いては、OR関数の条件に使う比較演算子とセル参照の考え方を確認していきます。

比較内容 演算子 例
100以上 >= B2>=100
100未満 < B2<100
東京と等しい = A2=”東京”

 

数値条件の比較演算子

数値を比較する演算子について解説していきます。

売上が100000以上ならB2>=100000、在庫が10未満ならC2<10のように入力します。

等しくないという条件には<>を使います。

たとえば、ステータスが「停止」以外ならA2<>”停止”です。

数値の比較ではダブルクォーテーションを付けず、文字列の比較では付けるという違いを押さえましょう。

【操作のポイント】条件の境界を決めるときは、以上と超える、以下と未満を混同しないよう注意します。基準値そのものを含めるかどうかが変わります。

 

セル参照で基準値を変更しやすくする方法

続いては、基準値を別セルに置く方法を確認していきます。

たとえばF1セルに売上基準の100000、G1セルに契約数基準の2を入力しておくと、数式は=OR(B2>=$F$1,C2>=$G$1)となります。

基準値を変更したいときに数式を直接修正する必要がなくなり、F1やG1の数値を変えるだけで判定全体を更新できます。

=OR(B2>=$F$1,C2>=$G$1)

$F$1と$G$1は絶対参照です。

オートフィルしても基準セルがF2やG2へずれません。

判定基準が今後変わる可能性がある表では、基準値をセルへ分ける設計が実用的です。

【操作のポイント】F1キーを押して数式内のセル参照を選択すると、相対参照と絶対参照を切り替えられます。

 

日付と時刻を条件にする方法

続いては、日付や期限をOR関数で判定する方法を確認していきます。

たとえば、納品日が今日以前、またはステータスが「至急」である案件を確認するなら、=OR(B2<=TODAY(),C2=”至急”)と入力します。

TODAY関数は、ファイルを開いた日付を自動的に返します。

日付が文字列として保存されている場合は正しく比較できないことがあるため、セルの表示形式だけでなくデータ形式も確認しましょう。

日付条件では、TODAY関数を使うと毎日自動で判定を更新できます。

【操作のポイント】期限日を含めて判定するなら<=TODAY()を使います。当日を含めない場合は<TODAY()に変更します。

 

OR関数で起こりやすいエラーと対処

続いては、OR関数で結果が期待どおりにならない原因と対処法を確認していきます。

症状 主な原因 確認内容
#VALUE!エラー 参照元のエラー 元セルの数式
すべてTRUE 条件式の指定ミス 比較演算子
文字が一致しない 空白や表記ゆれ 入力データ

 

TRUEとFALSEが想定と逆になる原因

TRUEとFALSEの結果が想定と異なるときの確認方法を解説していきます。

最初に、OR関数が「すべての条件を満たす」関数ではないことを確認します。

売上と契約数の両方を満たす必要がある場合にOR関数を使うと、片方だけでTRUEになるため、期待より対象が多くなります。

その場合はORをANDへ変更する必要があります。

条件が1つでも成立すればよいのか、すべて成立しなければならないのかを先に言葉で整理しましょう。

【操作のポイント】数式を一度セルへ分け、各条件だけを個別に確認すると、どこでTRUEになっているかを見つけやすくなります。

 

文字列の不一致と余分な空白

続いては、文字列が一致しないときの対処を確認していきます。

見た目が同じ「営業部」でも、末尾に半角スペースや全角スペースが含まれていると、エクセルでは別の文字列です。

TRIM関数を使うと、文字列の前後にある余分な半角スペースを削除できます。

たとえば=OR(TRIM(A2)=”営業部”,TRIM(A2)=”企画部”)のように指定できます。

全角スペースや改行が含まれるデータでは、置換機能やCLEAN関数も役立つかもしれません。

【操作のポイント】外部システムから貼り付けたデータは、目に見えない空白を含むことがあります。一致しない場合はセルを編集状態にして末尾を確認しましょう。

 

エラー値を含むセルの処理

続いては、参照セルにエラー値がある場合の扱いを確認していきます。

OR関数が参照するセルに#N/Aや#VALUE!などのエラーがあると、OR関数の結果にもエラーが伝わる場合があります。

表示を整えたい場合は、IFERROR関数で数式全体を囲みます。

=IFERROR(IF(OR(B2>=100000,C2>=2),”対象”,”対象外”),”要確認”)

元データにエラーがあるときは要確認と表示します。

IFERROR関数はエラー表示を隠すだけでなく、確認が必要な行を知らせる表示にも使えます。

【操作のポイント】IFERRORを使った後も、元データのエラー原因は確認しましょう。必要なデータまで見えなくなることを避けられます。

 

まとめ エクセルのOR関数の使い方(AND関数との組み合わせ・複数条件)

エクセルのOR関数は、複数の条件のうち1つでも成立するデータを判定したいときに役立つ関数です。

=OR(B2>=100000,C2>=2)のように入力すれば、売上または契約数のいずれかが基準を満たすかを確認できます。

結果を「対象」「対象外」のように表示したい場合は、IF関数の条件部分にOR関数を組み込みましょう。

複数の条件グループを扱う場合は、AND関数で「かつ」の条件を作り、OR関数で「または」の関係につなげます。

OR関数を正しく使うコツは、条件を日本語で整理してから、かつをAND、またはをORへ置き換えることです。

基準値を別セルに置いたり、空白やエラーを考慮したりすれば、実務で使いやすい一覧表へ仕上げられます。

まずは小さなサンプル表でTRUE・FALSEの動きを確認し、目的に合わせてIF関数やAND関数と組み合わせていきましょう。