エクセルのor関数の使い方を図と例で理解する
エクセルのor関数は、入力された論理式に応じて次のような値を返す関数です。
区分 | 返り値 |
---|---|
ひとつでも「true(真)」の場合 | 「true(真)」 |
すべて「false(偽)」の場合 | 「false(偽)」 |
or関数は、日本語で言うと「AまたはB」の「または」を表現したい場面で使います。
この記事の目次
or関数の書式
or関数の書式は次のとおりです。
項目 | 入力する内容 |
---|---|
論理式1 | 論理式を入力します |
論理式2 | 同上 |
or関数は、通常、次のようにif関数と一緒に使用します。
例えば、
条件 | 表示 |
---|---|
A1セルが80未満または120超の場合 | NG |
それ以外の場合 | OK |
このような条件を指定したい場合には、次のような計算式を入力します。
or関数のイメージ
or関数を理解するために、いろいろなパターンで図解をしてみます。
どれでもいいので、
あなたが一番わかりやすい、と思うものでイメージしてみてください。
or関数をベン図で表現すると?
条件Aと条件Bのどちらか(あるいは両方)を満たしている(=「or(A,B)」)状況をベン図で表現するとこのようになります。
太線で囲まれている部分が「or(A,B)」にあたる部分です。
なお、1点注意して頂きたい点があります。
日常会話で「または」を使う場合には、どちらか1つしか選べないケースで「または」を使う場合があります。
「コーヒーまたは紅茶のどちらにしますか?」
と聞かれる場合の「または」がその例です。
こう聞かれたときに、「コーヒーと紅茶の両方ください!」という人はいませんよね?
でも、エクセルで「または」という単語を使う場合には、両方を満たしているケースも含みます。
「or関数」を使う場合も一緒で、両方の条件を満たす場合も含みます。
慣れないと勘違いしやすい点ですので、注意してください。
or関数を数直線で表現すると?
同じセルに対する複数の条件をor関数で表現する場合、数直線で表現することができます。
例えば、
「A1セル<80、120<A1セル」は、計算式で次のように表せます。
これを、数直線で表すと、次のようになります。
- 1つめの条件(A1<80)
- 2つめの条件(A1>120)
のどちらかを満たしている、濃い紫色の部分が「or(A1<80, A1>120)」で表される部分です。
or関数を使って複数の条件を指定する具体例
or関数を使う具体例をいくつか見ていこうと思います。
売上高の増減率が一定範囲内かどうかの判定
前月と当月の売上高を比較して、次のように表示させるには、次のような計算式を入れます。
条件 | 表示 |
---|---|
A1セルが80%未満あるいは120%超の場合 | * |
それ以外の場合 | (空欄) |
エクセルに計算式を入れてみると、次のようになります。
入力すべき年・月・日のどれかが空白かどうかの判定
年・月・日をそれぞれ別のセルに入力します。
or関数を使って、年・月・日のどれかが空欄であれば何も表示させないが、全て入力されていれば、日付のシリアル値を計算させます。
条件 | 表示 |
---|---|
A2セル、A3セル、A4セルのどれかが空欄 | (空欄) |
それ以外の場合 | date(A2,B2,C2) |
エクセルに計算式を入れてみると、次のようになります。
消費税の特定期間による納税義務判定
前期の最初6ヶ月間の売上高、給料を使って、消費税の納税義務を判定します。
条件 | 表示 |
---|---|
売上高≦1000万円 または 給料≦1000万円 | なし |
それ以外の場合 | あり |
エクセルに計算式を入れてみると、次のようになります。
条件付き書式でor関数を使った複数条件を入れる
or関数は、当然、条件付き書式でも使えます。
例えば、先ほど、例に挙げた「売上高の増減率が一定範囲を超えるかどうかの判定」で、条件を満たしたときだけ、色を変えてみます。
- a)条件付き書式を設定したいセルを選択し「条件付き書式」を選択
-
A2セル~E5セルを選択します。
その後、「ホーム」→「条件付き書式」→「新しいルール」を選択します。
- b)条件式を入力する
-
「数式を試用して、書式設定するセルを決定」を選択し、
数式として、=or($D2<80%,$D2>120%)と入力します。
今回のように、ある列の内容に応じて、行全体の書式を変える場合。
条件式の列の指定だけ絶対参照にするとうまくいくケースが多いです。次に、「書式ボタン」を押します。
- c)書式を設定する
-
条件を満たした場合の書式を設定します。
今回は、背景色をオレンジに設定します。設定したら、OKを2回押します。
↓
これで、条件付き書式の設定が終わりました。
増減比が80%未満か120%超の行だけ、背景色がオレンジになりました。
and関数とor関数の関係
ここまで見てきた4つの事例のうち、条件付き書式の例を除く3つの例は、
例題・処理結果は、
エクセルのand関数の使い方を図と例で理解する
と全く同じになっています。
条件付き書式についても、色をつけるセルが正反対になっているだけで、ほとんど一緒です。
実は、
- and関数とor関数を入れ替える
- 全ての条件を正反対のものに変える
- if関数の「2つめの引数」と「3つめの引数」を入れ替える
とすると、全く同じ意味の計算式になります。
例えば、
↓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)={"東京都","埼玉県"}), ... , ... )
とすると、普通に書くよりも、見た目がすっきりして見やすいです。
※普通に書くと次のように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関数の足し算で表現できます。
- b)2つの条件を同時に満たすケースが「ある」場合
-
sumif関数とsumifs関数を使って、無理矢理計算をすることはできます。
でも、計算式が複雑になってしまうので、sumif関数にはこだわらず、if関数とsum関数で計算をしたほうがいいでしょう。
countif関数でor条件を入れる
countif関数で単一列に対するor条件を指定したい場合もsumif関数の場合と同じです。
まとめ
複雑な条件で「・・・または・・・」という指定をする場合には、or関数を使うケースがほとんどです。
でも、or関数を使わないで、別の手段で表現する場合もあるので、状況に応じて使い分けてください。