Excel関数 逆引き集 | 範囲外か判定 → OR

Excel VBA Excel
スポンサーリンク
スポンサーリンク

概要

「点数が 0〜100 の範囲から外れていないかチェックしたい」
「売上が 10 万円未満 または 100 万円超なら“異常値”と判定したい」
「日付が期間外なら警告を出したい」

こうした “範囲外かどうか” を判定するのに便利なのが OR 関数です。

AND が「すべての条件を満たすと TRUE」なのに対し、
OR は“どれか1つでも TRUE なら TRUE” になります。

この性質を使うと、

  • 下限より小さい
  • 上限より大きい

のどちらかを満たしたら TRUE → 「範囲外」と判定できます。


OR の基本

OR の書式と動き

=OR(論理式1, 論理式2, [論理式3], …)

動きはとてもシンプルです。

  • 1つでも TRUE があれば → TRUE
  • 全部 FALSE のときだけ → FALSE

例:

=OR(5>10, 20>15)   ' → TRUE(後者が TRUE)
=OR(5>10, 2>3)     ' → FALSE(どちらも FALSE)

数値が“範囲外”か判定する基本形

A2 の点数が 0〜100 の範囲外か判定する

「0〜100 の範囲外」=
0 未満 または 100 超 のどちらかを満たしたら TRUE。

=OR(A2<0, A2>100)
  • A2 が 0〜100 のとき → FALSE(範囲内)
  • A2 が 0 未満 または 100 超 → TRUE(範囲外)

A2 の点数が 60〜79 の範囲外か判定する

「60〜79 の範囲外」=
60 未満 または 80 以上。

=OR(A2<60, A2>=80)

日付が“期間外”か判定する

A2 の日付が 2024/4/1〜2024/6/30 の期間外か判定

期間外=
2024/4/1 より前 または 2024/6/30 より後。

=OR(A2<DATE(2024,4,1), A2>DATE(2024,6,30))

日付も大小比較ができるので、数値と同じ考え方で判定できます。


文字列+数値の複合条件で“範囲外”を判定

支店が東京 以外 または 売上が 100,000 未満 のとき TRUE

A列:支店
B列:売上

=OR(A2<>"東京", B2<100000)
  • 支店が東京でない
  • 売上が 100,000 未満

どちらかを満たしたら TRUE(=範囲外)になります。


OR と IF を組み合わせて「範囲外 → NG」と表示する

範囲外なら「NG」、範囲内なら「OK」

例:A2 が 0〜100 の範囲外なら NG。

=IF(OR(A2<0, A2>100), "NG", "OK")

OR が TRUE → NG
OR が FALSE → OK


OR を使った“異常値チェック”のテンプレート

数値の異常値チェック(下限・上限)

=OR(値<下限, 値>上限)

例:売上が 10 万〜100 万の範囲外なら TRUE。

=OR(B2<100000, B2>1000000)

日付の異常値チェック(期間外)

=OR(日付<開始日, 日付>終了日)

文字列の異常値チェック(許可されていない値)

許可されている値が「A」「B」「C」だけの場合:

=OR(A2<>"A", A2<>"B", A2<>"C")

ただしこれは 常に TRUE になるため、
実際には「NOT+OR」または「AND」を使うのが正解です。

正しい書き方:

=AND(A2<>"A", A2<>"B", A2<>"C")

OR は「範囲外(数値・日付)」に向いていて、
「許可リスト外」には AND が向いています。


例題

問題1

A2 の点数が 0〜100 の範囲外なら TRUE、範囲内なら FALSE を返す式を書いてください。

=OR(A2<0, A2>100)

問題2

A2 の点数が 60〜79 の範囲外なら TRUE を返す式を書いてください。

=OR(A2<60, A2>=80)

問題3

A2 の日付が 2024/1/1〜2024/12/31 の期間外なら TRUE を返す式を書いてください。

=OR(A2<DATE(2024,1,1), A2>DATE(2024,12,31))

問題4

A2 の点数が 0〜100 の範囲外なら「NG」、範囲内なら「OK」と表示する IF+OR の式を書いてください。

=IF(OR(A2<0, A2>100), "NG", "OK")

問題5

A2 に支店名、B2 に売上が入っています。
「支店が東京以外 または 売上が 100,000 未満」のとき TRUE を返す式を書いてください。

=OR(A2<>"東京", B2<100000)

まとめ

OR は、

  • どれか1つでも条件を満たしたら TRUE
  • すべて満たさなければ FALSE

という性質を持つため、
“範囲外かどうか”を判定するのに最適な関数です。

基本形は次の通りです。

=OR(値<下限, 値>上限)

これを IF と組み合わせれば、
「範囲外 → NG」「範囲内 → OK」といったラベル付けも簡単にできます。

AND と OR をセットで理解すると、
Excel の論理判定が一気にスムーズになります。

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