Excel(エクセル)OR関数の使い方|IF関数・AND関数との組み合わせで多様化する
OR関数について、その使い方を初心者にも分かりやすく解説しています。OR関数はIF関数と組み合わせることで活用の範囲が広がります。更にAND関数を組み込めば複雑な条件を分岐させて多様な使い方が可能になります。IF関数と組み合わせて結果の文字列を自由な表示にする方法、AND関数とOR関数の違い、AND関数とOR関数を併用する方法、条件付き書式でOR関数を使う方法、COUNTIFとOR関数を組み合わせて使う方法などを図解していきます。
使用関数:OR、AND、IF
OR(オア)関数とは?
論理式のOR条件を関数で実装できます。OR関数は比較演算子(等号=、不等号< >)を使った論理式のどれか一つでも満たされているか、いないかを判定します。
返されるのは論理値「TRUE(肯定・条件は満たされている)」または「FALSE(否定・条件は満たされていない)」です。
IF関数と組み合わせれば、判定結果を文字列で自由にカスタマイズすることができます。
OR関数の論理式に使う「以上・以下・未満」などを示す等号=・不等号< >の表記一覧
- = イコール。等しい。一致する
【表記例】B2=70 - <> 異なる。一致しない
【表記例】B2<>70 - > 大きい。一致を含まない
【表記例】 B2>70 - < 小さい。未満。一致を含まない
【表記例】 B2<70 - >= 以上。一致を含む
【表記例】 B2>=70 - <= 以下。一致を含む
【表記例】 B2<=70
日付を比較演算子(等号=、不等号< >)で指定する例
- > 古い日付。一致を含まない
【表記例】 B2>”2022/5/1″ - < 新しい日付。未満。一致を含まない
【表記例】 B2<“2022/5/1” - >= 古い日付。一致を含む
【表記例】 B2>=”2022/5/1″ - <= 新しい日付。一致を含む
【表記例】 B2<=”2022/5/1″
文字列を比較演算子(等号=、不等号< >)で指定する例
- = イコール。等しい。一致する
【表記例】B2=”合格” - <> 異なる。一致しない
【表記例】B2<>”合格”
OR関数の引数と書式
「数式」タブ「関数ライブラリ」→「論理」→ ORをクリックします。
OR関数の引数は「論理式1」が必須で、「論理式2」~「論理式255」まで指定可能です。
OR関数の書式の構成はこうなります。
OR関数で3つ以上の条件を指定して判定
OR関数は指定した条件に一つでも当てはまれば「TRUE」を返します。
英語・数学・化学・国語の点数表があります。理数系の「数学」と「化学」の点数のどちらかが80点以上、または「総合点」が320点以上の3つの条件をOR関数の引数に指定します。
第一引数「論理式1」の指定
「論理式」は前述したように比較演算子「等号=」「不等号< >」を用いて組み立てます。
この例では、「判定」の最初のセルを選択してOR関数の引数ダイアログボックスを開き、「論理式1」に「数学」の点数のセルをクリックして「C2」を入力、続けて「>=80」と入力します。「C2>=80」は「C2セルにある数学の点数が80点以上なら」という論理式です。
第二引数「論理式2」の指定
「論理式2」には化学の点数が入ったD2セルをクリックし、続けて「>=80」と入力します。「D2>=80」は「D2セルにある化学の点数が80点以上なら」という論理式です。
第三引数「論理式3」の指定
「論理式1」「論理式2」と同様に、「総合点」の点数のセルに比較演算子をつなげて「F2>=320」と入力します。「F2セルにある総合点が320点以上なら」という3つ目の条件です。
3条件を指定したOR関数の数式は以下のようになります。
=OR(C2>=80,D2>=80,F2>=320)
OR関数の引数「論理式2」以降は任意ですが、「論理式255」まで指定できます。
OR関数で3つの条件のどれかを満たしているかどうかの判定が「TRUE」と「FALSE」で返りました。
IF関数にOR関数をネストして判定を特定の文字列で表示
前章ではOR関数を単体で使って判定結果を取得しましたが、TRUEとFALSEの結果表示では分かりやすいデータとは言えません。多くの場合、IF関数にネストして、一目で判定結果が見て取れるようにします。
IF関数の引数「論理式」に前章で組み立てたOR関数「OR(C2>=80,D2>=80,F2>=320」をネストし、「真の場合」「偽の場合」にそれぞれ好きな文字列を指定します。文字列は「“”」で括る必要がありますが、入力後にTabキーを押して確定させれば「””」は自動で入ります。
ここでは「真の場合」は「特別補習」、「偽の場合」は空白になるよう指定しました。
データの最後までオートフィルコピーすれば、OR関数の判定結果がIF関数に指定した文字列で表示されます。
最終的な数式 =IF(OR(C2>=80,D2>=80,F2>=320),“特別補習”,“”)
IF関数の使い方は以下の記事に詳細にまとめてあります
OR関数とAND関数の違い
OR関数は複数の条件を指定することで対象範囲を広げていく関数です。AND関数は複数の条件を指定することで対象範囲を絞っていく関数です。
OR関数に指定した条件は「いずれかが満たされていればOK」です。OR条件を説明する時には「~、または~、または・・・」という言葉が使われますが、この「または」がORに相当する日本語です。
「数学の点数が80点以上(論理式1)」「または(OR)」「化学の点数が80点以上(論理式2)」は、「数学か化学どちらか一つが80点以上」という条件になります。数学が65点でも化学が85点なら判定は「TRUE(◯)」ということです。
一方、AND関数に指定した条件は「すべて満たされる必要」があります。AND条件を説明する時に「~かつ、~かつ・・・」という言葉が必ず使われますが、この「かつ」がANDに相当する日本語です。
「数学の点数が80点以上(論理式1)」「かつ(AND)」「化学の点数が80点以上(論理式2)」は、「数学も化学も両方80点以上」という条件になります。どちらかが65点なら判定は「FALSE(✕)」ということです。
以下はOR関数とAND関数の判定結果の違いを図にしたものです。OR関数は条件が増えるほどTRUEが増え、AND関数は条件が増えるほどTRUEが減るのが分かりますね。
OR関数とAND関数を組み合わせた使い方
AND関数とOR関数を併用して複数条件を指定する使い方があります。
IF関数の論理式に「条件1と条件2の両方が満たされたら」というAND関数をネストし、「真の場合」には判定結果を表示させる文字列を指定、「偽の場合」にはもう一つIF関数をネストして、その論理式に「条件3か、または条件4のどちらかが満たされたら」というOR関数をネストします。この方法でAND条件とOR条件を併用した複雑な条件指定が可能になります。
AND関数とOR関数を併用してランク判定する使い方は以下の記事で解説しています
OR関数を条件付き書式に使う
条件付き書式で数式にOR関数、AND関数を指定して、IF関数にネストしたのと同様の結果を得る方法もあります。
条件付き書式にOR関数とAND関数を使う方法を以下の記事で解説しています
OR関数とCOUNTIF関数の組み合わせを条件付き書式に指定して特定文字列のセルに色を付ける
条件付き書式にはワイルドカードが使えないので、COUNTIFで特定の文字列を抽出して書式を付ける方法があります。一つの条件では抽出しきれない場合にOR関数を組み合わせて複数条件で文字列を抽出します。
特定の文字列のあるセルや行全体に色を着けたい、フォントの太さや文字色を変えたいという時に便利な実装方法です。
下図の表から「茶色」と「木製」の商品名を含む行に条件付き書式で色を付けたいと思います。
まず、COUNTIF関数でデータを抽出する数式を組み立てます。ワイルドカードのアスタリスク「*」を使って「茶」を含む文字列を取り出すための引数の指定をダイアログで以下のように指定します。
数式は「=COUNTIF($D2,”*茶*”)」となります。引数「範囲」に指定したセル番地をF4キーを3回押して絶対列参照にしておきます。この数式(=を除いた部分)をコピーしておきましょう。
この例では行全体に色を付けたいので、表の1行目をドラッグで選択、「ホーム」タブ「スタイル」グループの「条件付き書式」ボタンで開くプルダウンから「新しいルール」をクリックします。
- 新しいルールのダイアログでルールの種類を一番下の「数式を使用して、書式設定するセルを決定」にします
- 「次の数式を満たす場合に値を書式設定」のテキストボックスに「=OR(」と入力します
- 続けてコピーしておいたCOUNTIFの数式「COUNTIF($D2,”*茶*”)」をペーストします
- 更に続けて半角カンマ「,」を入力します
- もう一度数式「COUNTIF($D2,”*茶*”)」をペーストしてカッコ「)」を閉じます
- 2つ目のCOUNTIFの数式の「”*茶*”」を「”*木製*”」に修正します
→ =OR(COUNTIF($D2,”*茶*”),(COUNTIF($D2,”*木製*”)) - 「書式」ボタンをクリックして適当な書式を指定したら、「OK」を押します
条件付き書式が設定された行を下までオートフィルコピーします。この時点で値の単純コピーになりますが、オートフィルオプションボタン(右下に表示されているアイコン)をクリックして、「書式のみコピー(フィル)」を選択します。
設定した条件付き書式が適用されて、行に色が付きました。
- OR関数は条件を比較演算子(等号=・不等号< >)を使って組み立て、その判定を論理値「TRUE」か「FALSE」で返します
- OR関数は指定した複数の条件のどれか一つでも合致していればTRUEを返します
- 多くの場合、OR関数はIF関数にネストして判定結果を文字列で表示させます
- AND関数とOR関数を併用して条件指定することもできます
- ワイルドカードを使ったデータの抽出ではOR関数にCOUNTIF関数をネストして条件付き書式で実装する方法があります