Contents
スプレッドシートのAND,OR,NOT関数とは
AND関数とは”かつ”を表す条件
スプレッドシートのAND関数は複数の条件を指定し、それらの条件がすべて成立する場合に真(TRUE)を返し、それ以外の場合は偽(FALSE)を返す関数です。IF関数や条件付き書式、フィルタなどと組み合わせて使うことの多い関数と言えます。
=AND(論理式1, [論理式2, ...])
- 論理式1:TRUEかFALSEのどちらかを表す式やセル
- 論理式2…:TRUEかFALSEのどちらかを表す式やセル(任意)
OR関数とは”または”を表す条件
スプレッドシートのOR関数は複数の条件を指定し、それらの条件のうち少なくとも1つは成立するならなら真(TRUE)を返し、どちらも不成立なら偽(FALSE)を返す関数です。
=OR(論理式1, [論理式2, ...])
- 論理式1:TRUEかFALSEのどちらかを表す式やセル
- 論理式2…:TRUEかFALSEのどちらかを表す式やセル(任意)
NOT関数とは”以外”を表す条件
スプレッドシートのNOT関数は、論理値の逆を返す関数です。具体的には、TRUE(真)の場合はFALSE(偽)を、FALSEの場合はTRUEを返します。
=NOT(論理式)
- 論理式:TRUEかFALSEのどちらかを表す式やセル
AND,OR,NOT関数の使い方
AND関数の使い方
AND関数は、「〇〇はXXである」や「〇〇はXXより小さい」のような条件を2こ以上指定するのが通例です。指定した条件すべてが◯のときにTRUE、1つでも×がある場合にはFALSEが結果となります。
たとえば下図において、C列が「ほのお」かつD列が「ひこう」であるかを判定したいとしましょう。
①も②も×の場合:FALSE
E2セルには「=AND(C2=”ほのお”,D2=”ひこう”)」と入力します。中身の分解をすると次のとおりです。
- 「C2=”ほのお”」はC2セルがほのおの場合に◯
- 「D2=”ひこう”」はD2セルがひこうの場合に◯
- 「AND(①,②)」は①と②が◯の場合にTRUE
そして今回の判定結果は①も②も×なのでFALSEです。
- 「C2=”ほのお”」は×
- 「D2=”ひこう”」は×
- 「AND(①,②)」は①または②が×なのでFALSE
①か②の片方だけ◯の場合:FALSE
続いてE5セルに「=AND(C5=”ほのお”,D5=”ひこう”)」と入力してみましょう。
判定結果は②が×なのでFALSEです。
- 「C5=”ほのお”」は◯
- 「D5=”ひこう”」は×
- 「AND(①,②)」は①または②が×なのでFALSE
①と②が◯の場合:TRUE
次はE7セルに「=AND(C7=”ほのお”,D7=”ひこう”)」と入力してみましょう。
そして今回の判定結果は①も②も◯なのでTRUEです。
- 「C7=”ほのお”」は◯
- 「D7=”ひこう”」は◯
- 「AND(①,②)」は①と②が◯なのでTRUE
OR関数の使い方
OR関数の使い方は、「〇〇はXXである」や「〇〇はXXより小さい」のような条件を2こ以上指定します。どれかが◯のときにTRUE、すべて×の場合のみFALSEとなります。
たとえば下図において、C列が「ほのお」またはD列が「ひこう」であるかを判定したいとしましょう。
①も②も×の場合:FALSE
EFセルには「=OR(C2=”ほのお”,D2=”ひこう”)」と入力します。中身の分解をすると次のとおりです。
- 「C2=”ほのお”」はC2セルがほのおの場合に◯
- 「D2=”ひこう”」はD2セルがひこうの場合に◯
- 「OR(①,②)」は①または②が◯の場合にTRUE
今回の判定結果は①も②も×なのでFALSEです。
- 「C2=”ほのお”」は×
- 「D2=”ひこう”」は×
- 「OR(①,②)」は①も②も×なのでFALSE
①か②の片方だけ◯の場合:TRUE
続いてF5セルに「=OR(C5=”ほのお”,D5=”ひこう”)」と入力してみましょう。
判定結果は①が◯なのでTRUEです。
- 「C5=”ほのお”」は◯
- 「D5=”ひこう”」は×
- 「OR(①,②)」は①または②が◯なのでTRUE
①と②が◯の場合:TRUE
次はF7セルに「=OR(C7=”ほのお”,D7=”ひこう”)」と入力してみましょう。
そして今回の判定結果は①も②も◯なのでTRUEです。
- 「C7=”ほのお”」は◯
- 「D7=”ひこう”」は◯
- 「OR(①,②)」は①と②が◯なのでTRUE
NOT関数の使い方
NOT関数の使い方は、「〇〇はXXである」や「〇〇はXXより小さい」のような条件を1このみ指定します。かっこ内がもとはTRUEの場合はFALSE、FALSEの場合はTRUEに変換されます。
元が×の場合:TRUE
たとえば「=NOT(C2=”ほのお”)」とG2セルに入力すると、TRUEになります。
- 「C2=”ほのお”」は誤りなので×
- 「=NOT(①)」は①が×なのでTRUE
元が◯の場合:FALSE
たとえば「=NOT(C5=”ほのお”)」とG5セルに入力すると、FALSEになります。
- 「C5=”ほのお”」は正しいので◯
- 「=NOT(①)」は①が◯なのでFALSE
NOT関数はAND条件やOR条件との組み合わせもよくみられます!たとえば、「=NOT(AND(C7=”ほのお”,D7=”ひこう”))」とすることで、AND関数が×(FALSE)の場合にNOT関数全体で◯(TRUE)になります。
[応用1]条件付き書式にAND関数,OR関数を適用
スプレッドシートの条件付き書式にはAND関数やOR関数を適用できます。まずは対象にしたい範囲を選択した状態で右クリック>「セルでの他の操作項目を表示」>「条件付き書式」と進みます。
「書式ルール」内の「セルの書式設定の条件」を「カスタム数式」に変更。その後、空欄内に「=AND($C2=”ほのお”,$D2=”ひこう”)」といれてみましょう。すると、条件にあてはまったB7セルが着色されます。
カスタム数式の中はTRUEだと書式が適用される仕組みになっています!
「=AND($C2=”ほのお”,$D2=”ひこう”)」と入力すると、B2:B1114それぞれの行でC列とD列が◯でAND関数がTRUEになった場合、B列に書式が反映されます。
[応用2]フィルタにAND関数,OR関数を適用
スプレッドシートではフィルタに対してAND関数,OR関数を適用可能です。フィルタのアイコンをクリックして「条件でフィルタ」>「カスタム数式」を選びます。
[応用1]同様に「=AND($C2=”ほのお”,$D2=”ひこう”)」を入れて、OKをクリックしましょう。
すると、ほのおとひこうのAND条件でTRUEになったもののみでフィルタできます。
OR条件で設定しても、同様に結果を得られるので試してみましょう。
AND,OR,NOT関数の注意点
結果はTRUEかFALSEのみ
AND,OR,NOT関数は基本的にTRUEかFALSEしか表示してくれません。そのため他の文字列を表示したい場合には、IF関数をはじめとした他関数と組み合わせての調整が必要です。
たとえば「=IF(AND(C7=”ほのお”,D7=”ひこう”),”◯”,”-“)」のように入力することで、TRUEだったら◯、FALSEだったら-を表示するような設定ができます。