【EXCEL | AND関数・OR関数】複数の条件式をまとめて判定する

スポンサーリンク

複数の条件式をまとめて判定する

EXCEL関数の中では、様々な条件判定のために”条件式”をよく利用すると思います。

条件式は、「○ならば☓」みたいにシンプルなものであれば問題ないですが、「○か△なら☓」「○かつ△なら■」みたいに、複数の条件をあわせて使う場合も多く出てきます。

今回は、そんな複数の条件式をまとめて判定する”AND関数”と”OR関数”を紹介します。

この関数を使うことで、数式を”スッキリ”と”分りやすく”書くことが出来るようになります(^o^)

AND関数

構文

=AND( 論理式1 [, 論理式2, 論理式3, ......])

  • 論理式…TRUE・FALSEの結果を返す条件式を指定します。

AND関数では、指定された論理式が、”全てTRUEの場合”にTRUEを返します。1つでもFALSEがある場合は、FALSEが返されます。

ちなみに、論理式は255個まで指定可能です。


AND関数サンプル

やってみましょう。

次のようなシートを用意しました。名前と性別年齢のリストです。

D列にAND関数を使って複数条件を一括で判定します。

※架空のデータです。(なんちゃって個人情報さんより)

50歳以上の男性のD列に「○」を表示させる数式を考えてみます。

まずは、D1セルに次の数式を入力します。

=AND( B2="男", C2>=50 )

1つ目の条件は、B列が”男”なことなので、「B2=”男”」

2つ目の条件は、C列が”50歳以上”なので、「C2>=50」

をカンマで繋げて指定します。

Enterで確定します。

D2セルには、”FALSE”が表示されました。このように、AND関数では指定した全ての条件がTRUEにならないとFALSEが表示されます。全てTRUEになるとTRUEが表示されます。

「池田 みあ」さんの場合は指定した条件がいずれもFALSEですね。

D8セルまで数式をコピーします。

条件に該当する、「秋葉 栄一」さんと「佐竹 弘也」さん、「荒木 光洋」さん、「水島 守」さんがTRUEになっていることが確認出来ます。

やりたかったのは、条件に合致する人のD列に「○」をいれることでした。

先程入力した、AND関数での数式を、IF関数の”条件式”に利用します。

D2セルの数式を次のように変更します。

=IF( AND( B2="男", C2>=50 ), "○", "" )

Enterで確定してD8セルまでコピーします。

これで先程の条件式が、TRUEの場合は「○」そうでない場合は空白に出来ました。

ちなみに、IF関数だけで書くと次のようになります。

=IF( B2="男", IF( C2>=50, "○", "" ), "" )

まぁ、今回条件式が2つだけなので、なんとか分かりますが3つ4つ5つとなってきたらカオスですねw

AND関数を使うことで、数式がシンプルにスッキリ出来ることが分かると思います。

OR関数

構文

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

  • 論理式…TRUE・FALSEの結果を返す条件式を指定します。

OR関数では、指定された論理式の”いずれかがTRUEの場合”にTRUEを返します。1つでもTRUEがあれば、TRUEが返されます。全てFALSEの場合にだけFALSEが返されます。

ちなみに、論理式は255個まで指定可能です。


OR関数サンプル

先ほどと同じシートを使います。

D列にOR関数を使って複数条件を一括で判定します。

※架空のデータです。(なんちゃって個人情報さんより)

C列が「女」か、年齢が40歳以下の場合、D列に「○」を表示させる式を考えます。

まずは、D1セルに次の数式を入力します。

=OR( B2="女", C2<=40 )

1つ目の条件は、B列が”女”なことなので、「B2=”女”」

2つ目の条件は、C列が”40歳以下”なので、「C2<=40」

をカンマで繋げて指定します。

使い方のベースはAND関数と同じですね。

Enterで確定します。

D2セルには、”TRUE”が表示されました。このように、OR関数では指定した条件のいずれかがTRUEならば、TRUEのが表示されます。

「池田 みあ」さんの場合は指定した条件の全てがTRUEになりますね。

D8セルまで数式をコピーします。

条件に該当する、「池田 みあ」さんと「小西 恵子」さん、「上野 秀樹」さんがTRUEになっていることが確認出来ます。

やりたかったのは、条件に合致する人のD列に「○」をいれることでした。

AND関数の時と同じく、先程入力したOR関数関数での数式を、IF関数の”条件式”に利用します。

D2セルの数式を次のように変更します。

=IF( OR( B2="女", C2<=40 ), "○", "")

Enterで確定してD8セルまでコピーします。

これで先程の条件式が、TRUEの場合は「○」そうでない場合は空白に出来ました。

ちなみに、これもIF関数だけで書くと次のようになります。

=IF( B2="女", "○", IF( C2<=40, "○", ""))

まずB列が”女”かどうか確認して、そうなら「○」、そうでなかったらC列が40歳以上かどうか確認して、そうだったら「○」そうでなければ空白。

といった具合になりますね。

IFをネスト(入れ子)にするしかないので、分かりにくいのは一目瞭然ですね。