スプレッドシート

スプレッドシートのAND,OR,NOT関数の条件でTRUE, FALSEを判定

スプレッドシートのANDとORとNOT関数

スプレッドシートの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=”ひこう”)」と入力します。中身の分解をすると次のとおりです。

  1. 「C2=”ほのお”」はC2セルがほのおの場合に◯
  2. 「D2=”ひこう”」はD2セルがひこうの場合に◯
  3. 「AND(①,②)」は①と②が◯の場合にTRUE

そして今回の判定結果は①も②も×なのでFALSEです。

  1. 「C2=”ほのお”」は×
  2. 「D2=”ひこう”」は×
  3. 「AND(①,②)」は①または②が×なのでFALSE

①か②の片方だけ◯の場合:FALSE

続いてE5セルに「=AND(C5=”ほのお”,D5=”ひこう”)」と入力してみましょう。

判定結果は②が×なのでFALSEです。

  1. 「C5=”ほのお”」は◯
  2. 「D5=”ひこう”」は×
  3. 「AND(①,②)」は①または②が×なのでFALSE

①と②が◯の場合:TRUE

次はE7セルに「=AND(C7=”ほのお”,D7=”ひこう”)」と入力してみましょう。

そして今回の判定結果は①も②も◯なのでTRUEです。

  1. 「C7=”ほのお”」は◯
  2. 「D7=”ひこう”」は◯
  3. 「AND(①,②)」は①と②が◯なのでTRUE

OR関数の使い方

OR関数の使い方は、「〇〇はXXである」や「〇〇はXXより小さい」のような条件を2こ以上指定します。どれかが◯のときにTRUE、すべて×の場合のみFALSEとなります。

たとえば下図において、C列が「ほのお」またはD列が「ひこう」であるかを判定したいとしましょう。

①も②も×の場合:FALSE

EFセルには「=OR(C2=”ほのお”,D2=”ひこう”)」と入力します。中身の分解をすると次のとおりです。

  1. 「C2=”ほのお”」はC2セルがほのおの場合に◯
  2. 「D2=”ひこう”」はD2セルがひこうの場合に◯
  3. 「OR(①,②)」は①または②が◯の場合にTRUE

今回の判定結果は①も②も×なのでFALSEです。

  1. 「C2=”ほのお”」は×
  2. 「D2=”ひこう”」は×
  3. 「OR(①,②)」は①も②も×なのでFALSE

①か②の片方だけ◯の場合:TRUE

続いてF5セルに「=OR(C5=”ほのお”,D5=”ひこう”)」と入力してみましょう。

判定結果は①が◯なのでTRUEです。

  1. 「C5=”ほのお”」は◯
  2. 「D5=”ひこう”」は×
  3. 「OR(①,②)」は①または②が◯なのでTRUE

①と②が◯の場合:TRUE

次はF7セルに「=OR(C7=”ほのお”,D7=”ひこう”)」と入力してみましょう。

そして今回の判定結果は①も②も◯なのでTRUEです。

  1. 「C7=”ほのお”」は◯
  2. 「D7=”ひこう”」は◯
  3. 「OR(①,②)」は①と②が◯なのでTRUE

NOT関数の使い方

NOT関数の使い方は、「〇〇はXXである」や「〇〇はXXより小さい」のような条件を1このみ指定します。かっこ内がもとはTRUEの場合はFALSE、FALSEの場合はTRUEに変換されます。

元が×の場合:TRUE

たとえば「=NOT(C2=”ほのお”)」とG2セルに入力すると、TRUEになります。

  1. 「C2=”ほのお”」は誤りなので×
  2. 「=NOT(①)」は①が×なのでTRUE

元が◯の場合:FALSE

たとえば「=NOT(C5=”ほのお”)」とG5セルに入力すると、FALSEになります。

  1. 「C5=”ほのお”」は正しいので◯
  2. 「=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だったら-を表示するような設定ができます。