OfficeType

Excel~NOT関数で条件を満たさないか判定しよう~エクセル

NOT関数

エクセルで論理式が成り立たないかどうか判定するNOT関数について説明します。

  • NOT関数の書式はNOT(論理式)になります。
  • 論理式は成り立たないかどうか判定したい式を指定します。

文字列を条件にする

下の画像の例でAさんが1班でないかの判定をセルC2に表示したい場合はセルC2に=NOT(B2="1班")と入力しEnterを押します。

論理式は班の項目のセルB2が1班であることが成り立たないか判定したいのでB2="1班"になります。

つまりセルC2に=NOT(B2="1班")と入力しEnterを押すとAさんは1班なので論理式は成り立たないので、成り立たない場合はFALSEが表示されます。

セルC2からセルC7までオートフィルすると2班か3班の人はTRUEが表示され、1班の人はFALSEが表示されます。

数値を条件にする

下の画像の例でセルB2にセルA2の数値が4以上でない事の判定を表示したい場合はセルB2に=NOT(A2>=4)と入力しEnterを押します。

論理式1は数値の項目のセルA2が4以上であることが成り立たないかどうか判定したいのでA2>=4になります。

比較演算子は以下の表に対応しています。

比較演算子説明
>より大きい
<より小さい
=等しい
>=以上
<=以下
<>等しくない

つまりセルB2に=NOT(A2>=4)と入力しEnterを押すとセルA2の数値は1なので論理式は成り立たないので、成り立たない場合はTRUEが表示されます。

セルB2からセルB7までオートフィルすると各行のA列の数値が4以上でない場合はTRUE、それ以外はFALSEがB列に表示されます。

空白でないことを条件にする

下の画像の例でセルA2のデータが空白でないかの判定をセルB2に表示したい場合はセルB2に=NOT(A2="")と入力しEnterを押します。

論理式はデータの項目のセルA2が空白であることが成り立たないか判定したいのでA2=""になります。

つまりセルC2に=NOT(A2="")と入力しEnterを押すとセルA2は空白でないので論理式は成り立たないので、成り立たない場合はTRUEが表示されます。

セルC2からセルC7までオートフィルすると各行のA列が空白でなけらばB列にTRUEが表示され、空白ならばFALSEが表示されます。

日付を条件にする

下の画像の例でセルB3にセルA3の日付が2016/9/28でないか判定したい場合はセルC3に=NOT(A3=DATE(2016,9,28))と入力しEnterを押します。

論理式はセルA3の日付が2016/9/28であることが成り立たないかどうか判定したいのでA3=DATE(2016,9,28)になります。DATE関数はDATE(年,月,日)で日付を返します。

つまりセルB3に=NOT(A3=DATE(2016,9,28))と入力しEnterを押すとセルA3の日付2016/9/26では論理式は成り立たないので、成り立たない場合はTRUEが表示されます。

セルB3からB8までオートフィルすると各行のA列の日付が2016/9/28でなければTRUEが表示され、2016/9/28であればFALSEが表示されます。

別セルの文字列を参照して条件にする

下の画像の例でNOT関数の条件にセルA2を参照してセルC5にAさんが否定条件の1班でないかどうかの判定を表示したい場合は=NOT(B5=$A$2)と入力しEnterを押します。オートフィルした時に範囲がズレないように絶対参照$を使用しています。

論理式は班の項目のセルB5がセルA2の1班でないかどうか判定したいのでB5=$A$2になります。

つまりセルC6に=NOT(B5=$A$2)と入力しEnterを押すとAさんは1班なので論理式が成り立つので、成り立つ場合はFALSEが表示されます。

セルC5からセルC10までオートフィルすると2班か3班の人はTRUEが表示され、1班の人はFALSEが表示されます。

セルA2の条件を書き換えればセルC5からセルC10の結果も瞬時に変わります。

別セルの数値を参照して条件にする

下の画像の例でNOT関数の条件にセルA2を参照してセルB5にセルA5の数値が5でないか判定を表示したい場合はセルB5に=NOT(A5=$A$2)と入力しEnterを押します。オートフィルした時に範囲がズレないように範囲に絶対参照$を使用しています。

論理式は数値の項目のセルA5がセルA2の否定条件でないか判定したいのでA5=$A$2になります。

つまりセルB5に=NOT(A5=$A$2)と入力しEnterを押すとセルA5の数値1は論理式を満たさないのでTRUEが表示されます。

セルB5からセルB10までオートフィルすると各行のA列の数値が5でない場合はB列にTRUEが表示され、5の場合はB列にFALSEが表示されます。

セルA2の条件を書き換えればセルB5からセルB10の結果も瞬時に変わります。

IF関数との組み合わせ

NOT関数はIF関数と組み合わせて使えばNOT関数がTRUEの時とFALSEの時の表示を指定できます。

下の画像の例でセルC2にAさんが1班の条件を満たさなければ〇を表示し、満たせば空白にしたい場合はセルC2に=IF(NOT(B2="1班"),"〇","")と入力しEnterを押します。

IF関数の書式はIF(論理式,[値が真の場合],[値が偽の場合])になります。

IF関数の論理式にNOT(B2="1班")を指定すればセルB2が1班の条件を満たさなければTRUEを返し、この場合はIF関数の[値が真の場合]が表示されます。セルB2が2班か3班の場合はIF関数の[値が偽の場合]が表示されます。

IF関数の[値が真の場合]にはNOT関数の論式を満たさない場合に〇を表示したいので"〇"になります。

IF関数の[値が偽の場合]にはNOT関数の論理式を満たした場合は空白にしたいので""になります。

つまりセルC2に=IF(NOT(B2="1班"),"〇","")と入力しEnterを押すとAさんは1班なのでNOT関数の論理式を満たすので空白になります。

セルC2からセルC7までオートフィルすると各行のB列の1班ならばC列は空白となり、2班か3班ならばC列に"〇"が表示されます。