【Excel】AND,OR,NOT関数の考え方【論理関数】


AND関数、OR関数、NOT関数はそれぞれTRUEかFALSEで数式の結果を調べる関数です。

日本語で条件のANDとOR、NOTについて考えるならば
AND=論理式①、論理式②のどちらも当てはまる
OR =論理式①、論理式②のどちらかが当てはまる
OR =論理式に当てはまらないかどうかを調べる

と読んでしまえばいいでしょう。ちなみにANDとOR関数のネストの数は無制限ですがNOT関数は1つの論理式しか調べられません。

これらをどのように使っていくかを見ていきましょう。

ANDとORを組み合わせる(2択がではなく3択にする)

NOT関数は『以外』『○○の反対』

IFやCOUNTIF、演算子が多数出てくるので、不安な方はこちらをご確認ください。

【Excel】IF関数のすゝめ(初級編)
今回は、IF関数について触れていきます。 SUMIFやAVERAGEIFなどはなく、純粋なIFのみです。 IF関数って? 実際に何が出来るの? IFは「こうなったら…」ってことは… 今回は初級編になるので、わからな...
【Excel】COUNT〜COUNTIFS関数などでできること
「COUNT関数とかいろいろ種類あるしよくわからないよ。それにしても数えたり、該当の部分にだけマーカーしたりして探すの大変だな…」 COUNT関数は単体でも、他の関数との組み合わせでも使われやすいく使用頻度も高い関数です。今回はCOUNT...
【Excel】演算子とエラーの種類【不等号等号、加減乗除、参照など】
演算子は日常生活でも『不等号』、『等号』、『加減乗除(+-×÷)』など様々な数式などを使っていてExcelで集計・分析をする上では必要不可欠な要素です。今一度確認をしておきましょう。 また、関数のエラーもパッと見ただけで何が原因かわかるようにエラ...

ANDとORを組み合わせる(2択がではなく3択にする)

ANDやOR関数とIF関数を使って3択での条件検索をしてみます。

例題①:休日取得や残業時間、遅刻回数によって『優秀』『要改善』の人を探します。両方当てはまらない人には空欄にします。

優秀な人を探すには
=AND(B3>=H$3,C3<H$4,D3=H$5)で休日7日以上、残業40時間未満、遅刻0の論理式ですべてが成立していればTRUEになるのでその人が優秀です。

要改善の人を探すなら
=OR(B3<=H$7,C3>=H$8,D3>=H$9)で休日5日以下、残業40時間以上、遅刻1回の論理式でどれか1つでも成立してしまえばTRUEになるのでORでTRUEになってしまえば要改善になります。


IF関数で両方の関数式をくくってしまえば、
=IF(AND(B4>=H$3,C4<H$4,D4=H$5)=TRUE,G$2,IF(OR(B4<=H$7,C4>=H$8,D4>=H$9)=TRUE,G$6,””))

これでAND関数でTRUEであればG2セル(優秀)、ネストで再度IF関数が入りOR関数でTRUEが入ればG6セル(要改善)になりOR関数でFALSE、AND関数でもFALSEの場合は空欄にしてしまえば3択が完成します。


NOT関数は『以外』『○○の反対』

反対の結果が欲しい場合はNOT関数を使用します。

例題②:先程の表で『優秀>要改善』の割合になるまで啓発運動を実施します。

B10が=COUNTIF(E3:E9,G2)で優秀の人数を出して、B11で=COUNTIF(E3:E9,G6)で要改善の人数を出します。

【Excel】COUNT〜COUNTIFS関数などでできること
「COUNT関数とかいろいろ種類あるしよくわからないよ。それにしても数えたり、該当の部分にだけマーカーしたりして探すの大変だな…」 COUNT関数は単体でも、他の関数との組み合わせでも使われやすいく使用頻度も高い関数です。今回はCOUNT...

E10セルを=NOT(B11で優秀の人数が要改善の人数より多いかを調べて、優秀のほうが少なければTRUEとなるので啓発運動が必要であるという形になります。

また、要改善の人だけ面接をする場合にはF列に
=IF(NOT(OR(B3<=I$7,C3>=I$8,D3>=I$9))=FALSE,”有”,””)
としてあげれば優秀と空欄の人以外を面接『有』に絞り込むこともできます。