エクセルのor関数の使い方を図と例で理解する

エクセルのor関数は、入力された論理式に応じて次のような値を返す関数です。

区分 返り値
ひとつでも「true(真)」の場合 「true(真)」
すべて「false(偽)」の場合 「false(偽)」

or関数は、日本語で言うと「AまたはB」の「または」を表現したい場面で使います。

or関数の書式

or関数の書式は次のとおりです。

=or(論理式1,論理式2,・・・)
項目 入力する内容
論理式1 論理式を入力します
論理式2 同上

or関数は、通常、次のようにif関数と一緒に使用します。

=if(or( ... , ... ), ... , ... )

例えば、

条件 表示
A1セルが80未満または120超の場合 NG
それ以外の場合 OK

このような条件を指定したい場合には、次のような計算式を入力します。

=if(or(A1<80, A1>120 ), "NG", "OK")

or関数のイメージ

or関数を理解するために、いろいろなパターンで図解をしてみます。

どれでもいいので、
あなたが一番わかりやすい、と思うものでイメージしてみてください。

or関数をベン図で表現すると?

func_or_1

条件Aと条件Bのどちらか(あるいは両方)を満たしている(=「or(A,B)」)状況をベン図で表現するとこのようになります。

太線で囲まれている部分が「or(A,B)」にあたる部分です。

なお、1点注意して頂きたい点があります。

日常会話で「または」を使う場合には、どちらか1つしか選べないケースで「または」を使う場合があります。

「コーヒーまたは紅茶のどちらにしますか?」
と聞かれる場合の「または」がその例です。

こう聞かれたときに、「コーヒーと紅茶の両方ください!」という人はいませんよね?

でも、エクセルで「または」という単語を使う場合には、両方を満たしているケースも含みます

「or関数」を使う場合も一緒で、両方の条件を満たす場合も含みます。

慣れないと勘違いしやすい点ですので、注意してください。

or関数を数直線で表現すると?

同じセルに対する複数の条件をor関数で表現する場合、数直線で表現することができます。

例えば、
「A1セル<80、120<A1セル」は、計算式で次のように表せます。

and(A1<80, A1>120)

これを、数直線で表すと、次のようになります。

func_or_2
  • 1つめの条件(A1<80)
  • 2つめの条件(A1>120)

のどちらかを満たしている、濃い紫色の部分が「or(A1<80, A1>120)」で表される部分です。

or関数を使って複数の条件を指定する具体例

or関数を使う具体例をいくつか見ていこうと思います。

売上高の増減率が一定範囲内かどうかの判定

前月と当月の売上高を比較して、次のように表示させるには、次のような計算式を入れます。

条件 表示
A1セルが80%未満あるいは120%超の場合
それ以外の場合 (空欄)
=if(or(D2<80%, D2>120%), "*", "")

エクセルに計算式を入れてみると、次のようになります。

func_or_3_1

入力すべき年・月・日のどれかが空白かどうかの判定

年・月・日をそれぞれ別のセルに入力します。

or関数を使って、年・月・日のどれかが空欄であれば何も表示させないが、全て入力されていれば、日付のシリアル値を計算させます。

条件 表示
A2セル、A3セル、A4セルのどれかが空欄 (空欄)
それ以外の場合 date(A2,B2,C2)
=if(or(A2="", B2="", C2=""), "", date(A2,B2,C2) )

エクセルに計算式を入れてみると、次のようになります。

func_or_3_2

消費税の特定期間による納税義務判定

前期の最初6ヶ月間の売上高、給料を使って、消費税の納税義務を判定します。

条件 表示
売上高≦1000万円 または 給料≦1000万円 なし
それ以外の場合 あり
=if(or(A2<=10000000,B2<=10000000), "なし", "あり")

エクセルに計算式を入れてみると、次のようになります。

func_or_3_3

条件付き書式でor関数を使った複数条件を入れる

or関数は、当然、条件付き書式でも使えます。

例えば、先ほど、例に挙げた「売上高の増減率が一定範囲を超えるかどうかの判定」で、条件を満たしたときだけ、色を変えてみます。

a)条件付き書式を設定したいセルを選択し「条件付き書式」を選択

A2セル~E5セルを選択します。

func_and_3_4

その後、「ホーム」→「条件付き書式」→「新しいルール」を選択します。

func_and_3_5
b)条件式を入力する

「数式を試用して、書式設定するセルを決定」を選択し、
数式として、

=or($D2<80%,$D2>120%)

と入力します。

今回のように、ある列の内容に応じて、行全体の書式を変える場合。
条件式の列の指定だけ絶対参照にするとうまくいくケースが多いです。

次に、「書式ボタン」を押します。

func_or_3_6
c)書式を設定する

条件を満たした場合の書式を設定します。
今回は、背景色をオレンジに設定します。

設定したら、OKを2回押します。

func_or_3_7

func_or_3_8

これで、条件付き書式の設定が終わりました。
増減比が80%未満か120%超の行だけ、背景色がオレンジになりました。

func_or_3_9

and関数とor関数の関係

ここまで見てきた4つの事例のうち、条件付き書式の例を除く3つの例は、

例題・処理結果は、
エクセルのand関数の使い方を図と例で理解する
と全く同じになっています。

条件付き書式についても、色をつけるセルが正反対になっているだけで、ほとんど一緒です。

実は、

  • and関数とor関数を入れ替える
  • 全ての条件を正反対のものに変える
  • if関数の「2つめの引数」と「3つめの引数」を入れ替える

とすると、全く同じ意味の計算式になります。

例えば、

=if(or(D2<80%, D2>120%), "*", "")
 ↓and関数とor関数を入れ替える
=if(and(D2<80%, D2>120%), "*", "")
 ↓全ての条件を正反対に変える
=if(and(D2>=80%, D2<=120%), "*", "")
 ↓「2つめの引数」と「3つめの引数」を入れ替える
=if(and(D2>=80%, D2<=120%), "", "*")

というイメージです。

and関数とor関数は入れ替え可能なのですが、どちらを使うかで、見た目のわかりやすさが大きく変わる場合があります。

表現がわかりにくいと思ったときは、or関数とand関数を入れ替えたら、見やすくならないか考えてみましょう。

同一セルで等号を使ったor条件を簡単に書く方法

同一セルに対して、「等号を使った複数のor条件」を書きたいとき。

普通に書いてもいいのですが、「{}」(中括弧)を使って、次のように書くことができます。

A1セルの内容が1か2か3のとき
=if(or(A1=1,A1=2,A1=3), ... , ... )

=if(or(A1={1,2,3}), ... , ... )
A1セルの内容が「東京都」か「埼玉県」のとき
=if(or(A1="東京都",A1="埼玉県"), ... , ... )

=if(or(A1={"東京都","埼玉県"}), ... , ... )

見た目がスッキリするので、時と場合によっては使ってもいいかもしれません。

たとえば、or関数の中にvlookup関数を入れて、vlookup関数で抽出した文字列に対してor条件を指定したい場合には、

(条件が見やすい)
=if(or(vlookup(D2,$A$1:$B$10,2,FALSE)={"東京都","埼玉県"}), ... , ... )

とすると、普通に書くよりも、見た目がすっきりして見やすいです。

func_or_3_13

※普通に書くと次のようにvlookup関数が複数出てきて、とてもわかりにくくなります。

(条件がわかりにくい)
=if(or(vlookup(D2,$A$2:$B$11,2,FALSE)="東京都",vlookup(D2,$A$2:$B$11,2,FALSE)="埼玉県"), ... , ... )

or関数を使わずにor条件を表現する

or条件を表現するのに、or関数を使わない(あるいは使えない)場合があります。

sumif関数でor条件を入れる

sumif関数でor条件を指定したい場合には、2つのケースがあり得ます。

a)2つの条件を同時に満たすケースが「ない」場合

sumif関数の足し算で表現できます。

func_or_3_10
b)2つの条件を同時に満たすケースが「ある」場合

sumif関数とsumifs関数を使って、無理矢理計算をすることはできます。

func_or_3_11

でも、計算式が複雑になってしまうので、sumif関数にはこだわらず、if関数とsum関数で計算をしたほうがいいでしょう。

func_or_3_12

参考:if関数は全ての基本。sumif関数なんかよりずっと大事だよ。

countif関数でor条件を入れる

countif関数で単一列に対するor条件を指定したい場合もsumif関数の場合と同じです。

まとめ

複雑な条件で「・・・または・・・」という指定をする場合には、or関数を使うケースがほとんどです。

でも、or関数を使わないで、別の手段で表現する場合もあるので、状況に応じて使い分けてください。

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。