IF関数ネスト(AND関数・OR関数)で複数条件を設定してランク判定

IF関数にAND関数とOR関数をネストして複数条件を設定する構造を図式化

使用関数:IF、AND、OR

二つ以上の条件からランクを判定して表示させてみましょう。IF関数にネスト(入れ子)するのはAND関数とOR関数。「もしも(IF関数)」「これとこれ(AND関数)」が合ってればこのランク、「これかこれ(OR関数)」が合ってればこのランクという仕様です。

関数の例題に使う表サンプル
上図はこのページの例題サンプルです。
会員が商品Aと商品Bの両方を購入した場合は「特典1」が付き、どちらか一つを購入すれば「特典2」が付き、何も購入しなければ「特典なし」と表示されるよう設定してみましょう。「○」は「購入した」、「×」は「購入しない」という印です。

AND関数・OR関数を軽く理解する

AND関数もOR関数もIF関数も「論理」の関数です。

「数式」タブの「関数ライブラリ」から「論理▼」を開くと、仲良く並んでますね。
関数ライブラリの論理

AND関数とは・・・

文字から推測される通り、「1の条件2の条件…が揃えばOK」という関数です。
指定した複数の条件全てに合致した場合に「TRUE(真)」を返します。一つでも合致しないものがあれば「FALSE(偽)」を返します。

OR関数とは・・・

文字から推測される通り、「1の条件、または2の条件…のどれかが合致すればOK」という関数です。
指定した複数の条件の内、どれか一つに合致した場合に「TRUE(真)」を返します。一つも合致しない場合にだけ「FALSE(偽)」を返します。

AND関数、OR関数はどちらもTRUEとFALSEの二つの値しか返しません。
条件が合えば「TRUE」と表示され、合わなければ「FALSE」と表示されるだけです。ですから、単独で使用されることはあまり無く、多くの場合、IF関数と組合せて使われることになります。

IF関数に入れ子してランク判定させる

IF関数は「もし、この条件だったら、こうなる」を実装する関数です。

ANDとOR関数と違って「こうなる」の値を指定できるところがとってもフレンドリーです。例題の「特典1」「特典2」はIF関数で設定します。


ランク判定を表示させるセルを選択
ランク判定を表示させる最初のセル(例ではE4)を選択し、「数式」タブの「関数ライブラリ」から「論理▼」から、「IF」を選んでクリックします。
関数ライブラリの論理リストからIFを選ぶ
「関数の引数」ダイアログボックスが開いたら、一番上の「論理式」にAND関数を入れ子します。

「論理式」のテキストボックスにカーソルがあることを確認して、
論理式にカーソルを置く
通常はセル番地が表示される「名前ボックス」に関数名が表示されているので、▼を押してドロップダウンさせたリストから「AND」をクリックします。
AND関数をクリックして選択
「ANDの関数の引数」ダイアログボックスが開いたら、
「論理式1」に一つ目の条件を入力し、「論理式2」に二つ目の条件を入力します。「論理式」の欄は入力毎に増えていき、最高255個までの条件をプラスできます。
AND関数の引数ダイアログボックスで論理式1と2を設定
今回の例では、
「条件1」を「商品Aを購入した=商品Aの欄に○が付いた」と指定
⇒「論理式1」に「C4="○"」と入力。
「条件2」を「商品Bを購入した=商品Bの欄に○が付いた」と指定
⇒「論理式2」に「D4="○"」と入力。

注意!「AND関数の引数」ダイアログの入力はこれで完了ですが、この時点ではまだ「OK」しません!

数式バーの関数式「=IF(AND(C4="○",D4="○"))」の中の「IF」をクリックすると、「IF関数の引数」ダイアログボックスに戻ることができます。
数式バーの関数式の中のIFをクリック
「IF関数の引数」ダイアログボックスに戻ったら、
「論理式」に先ほど指定したAND関数が入力されているのを確認してから、
「真の場合」に「”特典1”」と入力。
IF関数の引数ダイアログボックスに戻って真の場合を入力

論理式」に「商品Aの欄に○が付いて、尚且つ、商品Bの欄に○が付いたら」という条件を指定 ⇒ 「AND(C4="○",D4="○")」
真の場合」に「”特典1”」⇒「条件が成立した場合には」「特典1と表示させます」と指定したわけです。

次に、「偽の場合」のテキストボックスにカーソルを置いて、「名前ボックス▼」ドロップダウンリストから今度は「IF」を選びます。
偽の場合にIF関数をネスト
IF関数の中に更にIF関数を入れ子するわけです。

二つ目の「IF関数の引数」ダイアログボックスが開いたら、一番上の「論理式」に、今度はOR関数を入れ子します。

「論理式」のテキストボックスにカーソルがあることを確認して、「名前ボックス▼」ドロップダウンリストから今度は「OR」を選びます。
OR関数をクリック
「OR関数の引数」ダイアログボックス が開いたら、
「論理式1」と「論理式2」に「AND関数の引数」の時と同じ値を入力します。
OR関数の引数ダイアログボックスで論理式1と2を入力
入力値は全く同じですが、この場合は「商品Aの欄に○が付くか、或いは、商品Bの欄に○が付くかどちらかであれば…」という指定になります。

再度、注意!「OR関数の引数」ダイアログの入力はこれで完了ですが、この時点ではまだ「OK」しません!

数式バー「=IF(AND(C4="○",D4="○"),"特典1",IF(OR(C4="○",D4="○"))」の中の後ろの方の「IF」をクリックして「IF関数の引数」ダイアログボックスに戻りましょう。
数式バーの関数式の後ろの方にあるIFをクリック

「IF関数の引数」ダイアログボックスに戻ったら、
「論理式」に先ほど指定したOR関数が入力されているのを確認してから、
「真の場合」に「”特典2”」と入力し、「偽の場合」に「”特典なし”」と入力します。
ネストしたIF関数で引数の真の場合・偽の場合を入力
論理式」に「商品Aの欄に○が付くか、或いは、商品Bの欄に○が付くかどちらかであれば…」という条件を指定 ⇒ 「OR(C4="○",D4="○")」
真の場合」に「”特典2”」⇒「条件が成立した場合には」「特典2と表示
偽の場合」に「”特典なし”」⇒「条件が不成立の場合は」「特典なしと表示

これで全ての条件が指定できました。
やっと「OK」が押せます!w

後は、オートフィルでコピーすればいいだけです。
関数の例題に使う表サンプル
「=IF(AND(C4="○",D4="○"),"特典1",IF(OR(C4="○",D4="○"),"特典2","特典なし"))」が最終の式となります。

この式の構造図はこんな↓感じです。
IF関数にAND関数とOR関数をネストして複数条件を設定する構造を図式化

ネスト(入れ子)を繰り返していけば、もっと複雑な条件構造も実装できるでしょう。

IF関数で計算式の0を消す方法

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