スプレッドシートのNOT関数|IF組み合わせと条件否定を解説

スポンサーリンク

「スプレッドシートで”〜ではない”という条件を作りたい」。こんな場面、仕事でよくありますよね。

条件の否定を手作業で判定していると、見落としが出がちです。データが増えるほど確認の手間も増えてしまいます。

そんなときに使うのが、スプレッドシートのNOT関数です。構文と基本の使い方から、IF関数との組み合わせまで丁寧に解説します。AND/OR関数との組み合わせやエラー対処法もまとめていますよ。

スプレッドシートのNOT関数とは?

NOT関数(読み方: ノット関数)は、論理値を反転する関数です。「NOT」は英語の「〜ではない」に由来しています。

TRUEを渡すとFALSEに、FALSEを渡すとTRUEに変わります。条件の結果をひっくり返したいときに活躍しますよ。

NOT関数でできることをまとめると、次のとおりです。

  • TRUE / FALSEを反転する
  • IF関数と組み合わせて「〜でないとき」の条件分岐を作る
  • AND関数OR関数と組み合わせて複雑な否定条件を表現する

NOT関数単体はTRUE / FALSEを返すだけです。実務ではIF関数と組み合わせて使うことがほとんどですよ。

NOTE

NOT関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。

スプレッドシートのNOT関数の書き方(構文と引数)

基本構文

=NOT(論理式)

カッコの中に、反転したい条件を1つだけ指定します。

引数の説明

引数必須/任意説明
論理式必須反転したい条件や論理値(例: A2=”完了”)

AND関数やOR関数と違い、引数は1つだけです。複数の条件を渡すとエラーになるので注意してください。

TIP

論理式にはセル参照と比較演算子を組み合わせます。=NOT(A1="完了") のように書くと「A1が”完了”でないか?」を判定できます。

TRUE/FALSEの反転ルール

NOT関数の結果はシンプルです。入力と出力が必ず逆になります。

入力NOT関数の結果
TRUEFALSE
FALSETRUE

「TRUEならFALSE、FALSEならTRUE」。これだけ覚えておけば大丈夫ですよ。

数値を渡したときの動作

NOT関数に数値を渡すこともできます。0はFALSEとして、0以外はTRUEとして扱われます。

入力解釈NOT関数の結果
0FALSETRUE
1TRUEFALSE
-5TRUEFALSE
100TRUEFALSE

0だけがTRUEを返します。それ以外はすべてFALSEです。数値でNOTを使う場面は少ないので、参考程度に覚えておいてください。

NOT関数の基本的な使い方

ここからは実際の数式で基本的な使い方を確認していきましょう。

論理値を反転する

もっともシンプルな使い方です。セルにTRUEが入っているとき、結果を反転してみます。

=NOT(A2)

A2がTRUEなら結果はFALSEです。A2がFALSEなら結果はTRUEになります。

比較式の結果を反転する

「A2が100以上か?」を反転して、「A2が100未満か?」を判定する例です。

=NOT(A2>=100)

A2が80なら A2>=100 はFALSEです。NOTで反転するとTRUEになります。逆にA2が120ならFALSEです。

TIP

この例は =A2<100 と同じ結果になります。単純な比較ならNOTを使わないほうが読みやすいです。NOTが本領を発揮するのは、AND関数やOR関数の結果を反転するときですよ。

文字列の一致を否定する

「ステータスが"完了"ではないか?」を判定する例です。

=NOT(A2="完了")

A2が「対応中」なら結果はTRUEです。A2が「完了」ならFALSEになります。未完了タスクの抽出に便利ですよ。

IF関数×NOT関数の実践テクニック

NOT関数の実務での本領発揮は、IF関数との組み合わせです。NOT単体のTRUE/FALSEではなく、好きな文字列や数値を返せます。

IF+NOTで「〜でないとき」の条件分岐

IF関数の第1引数にNOT関数を入れるのが基本形です。

=IF(NOT(条件), TRUE値, FALSE値)

条件を満たさないときに「TRUE値」を返します。条件を満たしていれば「FALSE値」になります。

実務パターン1: 未完了タスクに「要対応」と表示する

A列にタスク名、B列にステータスが入っています。「完了」でないタスクに「要対応」と表示しましょう。

=IF(NOT(B2="完了"), "要対応", "")

B2が「対応中」「未着手」など「完了」以外なら「要対応」と表示されます。B2が「完了」なら空欄です。タスク管理シートで未完了の項目がひと目でわかりますよ。

実務パターン2: 空欄でないセルにフラグを立てる

「備考欄に何か入力されているか?」を判定する例です。

=IF(NOT(C2=""), "入力あり", "未入力")

C2に文字が入っていれば「入力あり」です。C2が空欄なら「未入力」になります。データの入力漏れチェックに使えます。

実務パターン3: 条件付き書式の応用

NOT関数は条件付き書式のカスタム数式でも活躍します。「土日でない行だけ色を付ける」例です。

=NOT(OR(WEEKDAY(A2)=1, WEEKDAY(A2)=7))

WEEKDAY関数(曜日を数値で返す関数)で日曜(1)と土曜(7)を判定しています。ORで「日曜 または 土曜」をチェックし、NOTで反転します。平日の行だけTRUEになるので、背景色が付きますよ。

TIP

条件付き書式では「〜でないとき」の条件が必要になる場面が多いです。NOT関数を使えば、「除外したい条件」を先に書いて反転するだけで済みますよ。

NOT関数×AND・OR関数の組み合わせ

NOT関数をAND関数やOR関数と組み合わせると、より複雑な否定条件を表現できます。

NOT+AND: 「すべてを満たす」の否定

AND関数の結果をNOTで反転します。「すべての条件を満たす」の反対、つまり「1つでも条件を満たさない」を判定できます。

=NOT(AND(A2>=70, B2>=70))

A2とB2の両方が70以上ならFALSEです。どちらか一方でも70未満ならTRUEになります。基準未達の人を見つけたいときに便利ですよ。

IF関数と組み合わせた実務例も見てみましょう。

=IF(NOT(AND(B2>=80, C2>=70)), "再試験", "合格")

筆記(B列)80点以上かつ面接(C列)70点以上を満たさなければ「再試験」です。両方クリアしていれば「合格」になります。

NOT+OR: 「どちらかを満たす」の否定

OR関数の結果をNOTで反転します。「どれか1つでも満たす」の反対、つまり「すべての条件を満たさない」を判定できます。

=NOT(OR(A2="営業", A2="企画"))

A2が「営業」でも「企画」でもなければTRUEです。どちらかに該当すればFALSEになります。特定部署の除外に使えますよ。

IF関数と組み合わせた実務例です。

=IF(NOT(OR(B2="休暇", B2="欠勤")), "出勤", "不在")

ステータスが「休暇」でも「欠勤」でもなければ「出勤」です。どちらかに該当すれば「不在」になります。

組み合わせの使い分け

NOT関数とAND/OR関数の組み合わせパターンをまとめます。

パターン意味使いどころ
NOT(AND(条件1, 条件2))1つでも満たさなければTRUE基準未達者の抽出
NOT(OR(条件1, 条件2))すべて満たさなければTRUE除外対象の判定
AND(NOT(条件1), NOT(条件2))両方とも満たさなければTRUE複数条件の同時否定

3つ目の AND(NOT(), NOT())NOT(OR()) と同じ結果になります。読みやすいほうを選んでください。

NOTE

論理学では「ド・モルガンの法則」と呼ばれる関係です。NOT(AND(A,B)) = OR(NOT(A), NOT(B))、NOT(OR(A,B)) = AND(NOT(A), NOT(B)) が成り立ちます。覚えなくても大丈夫ですが、知っておくと数式の整理に役立ちますよ。

よくあるエラーと対処法

NOT関数で「結果がおかしい」「エラーが出る」というときの原因と対処法をまとめます。

エラー一覧と対処法

エラー・症状原因対処法
#VALUE!文字列を直接指定した(例: =NOT("はい")比較式にする(例: =NOT(A1="はい")
#ERROR!引数が空(例: =NOT()論理式を1つ指定する
#ERROR!引数を2つ以上指定した(例: =NOT(A1>0, B1>0)引数は1つだけ。複数条件はANDやORで囲む
常にTRUEになる空白セルを参照している空白は0(FALSE)として扱われ、NOT(FALSE)=TRUE
常にFALSEになる0以外の数値が入っている数値はTRUEとして扱われ、NOT(TRUE)=FALSE
予想と逆の結果NOTの反転を二重にかけているNOT(NOT(x))はxと同じ。反転が1回か確認する

引数を複数渡すエラーに注意する

NOT関数でもっとも多い間違いが、引数を2つ以上渡してしまうケースです。AND関数やOR関数と混同しがちです。

=NOT(A2>=70, B2>=70)  ← エラーになる

複数条件を否定したい場合は、NOT関数の中にAND関数やOR関数を入れてください。

=NOT(AND(A2>=70, B2>=70))  ← 正しい書き方

空白セルの扱いに注意する

NOT関数に空白セルを渡すと、空白は0として扱われます。0はFALSEなので、NOT(FALSE)はTRUEです。予想外のTRUEが出るときは空白セルが原因かもしれません。

=IF(A2="", "未入力", NOT(A2="完了"))

事前に空白チェックを入れておくと、意図しない結果を防げますよ。

NOT(NOT(x))は元に戻る

NOTを二重にかけると元の値に戻ります。

=NOT(NOT(TRUE))  → TRUE
=NOT(NOT(FALSE)) → FALSE

意図せず二重否定になっていないか、数式を確認してみてください。

まとめ

NOT関数は、論理値を反転して条件の否定を作る関数です。

  • TRUEならFALSE、FALSEならTRUEに反転する
  • IF関数と組み合わせて「〜でないとき」の条件分岐を作るのが定番
  • AND/OR関数と組み合わせると複雑な否定条件も表現できる
  • 引数は1つだけ。複数条件はANDやORで囲んでからNOTで反転する
  • 空白セルはFALSE扱いになるので注意

まずはIF関数×NOT関数の組み合わせから試してみてください。「未完了タスクだけ表示」など実務ですぐに使えますよ。

AND関数やOR関数の使い方も合わせて覚えると、条件分岐の幅がぐんと広がります。詳しくはAND関数の使い方OR関数の使い方をチェックしてみてください。

複数条件でデータを数えたい場合は、COUNTIFS関数も確認してみてください。

タイトルとURLをコピーしました