NOT function

NOT returns the opposite Boolean value of its logical argument, turning TRUE into FALSE and FALSE into TRUE for a single logical input.

=NOT(logical)

Generate a NOT formula

Describe what you need. The generator will reach for NOT where NOT is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How NOT reads its arguments
logicalrequiredNOT
ArgumentRequiredDescription
logicalRequiredA required Boolean, number, or expression that can be evaluated to TRUE or FALSE; non-single-cell ranges cause a #VALUE! error.

Returns

A single Boolean value (TRUE or FALSE) returned as a scalar.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Check if Alice did NOT pass the Math test

StudentSubjectAssignmentScoreMax Score
AliceMathTest178100
BobScienceLab4550
CharlieHistoryEssay88100
=NOT(VLOOKUP("Alice",A2:E4,4,FALSE)>=70)

Result: FALSE

The VLOOKUP finds Alice's score of 78. The comparison >=70 evaluates to TRUE because 78 meets the passing threshold. NOT then flips that TRUE to FALSE, indicating that Alice did in fact pass, so the statement "Alice did NOT pass" is false.

2. Determine if Bob's score is NOT a number

StudentSubjectAssignmentScoreMax Score
AliceMathTest178100
BobScienceLab4550
CharlieHistoryEssay88100
=NOT(ISNUMBER(VLOOKUP("Bob",A2:E4,4,FALSE)))

Result: FALSE

VLOOKUP returns Bob's score of 45, which ISNUMBER identifies as a numeric value, yielding TRUE. NOT then inverts that TRUE to FALSE, meaning the statement "Bob's score is NOT a number" is false because his score is indeed a number.

3. Find out if Bob's score is NOT a perfect score

StudentSubjectAssignmentScoreMax Score
AliceMathTest178100
BobScienceLab4550
CharlieHistoryEssay88100
=NOT(VLOOKUP("Bob",A2:E4,4,FALSE)=VLOOKUP("Bob",A2:E4,5,FALSE))

Result: TRUE

The first VLOOKUP fetches Bob's actual score (45) and the second fetches the maximum possible score for that assignment (50). The equality test 45=50 evaluates to FALSE because the scores differ. NOT flips that FALSE to TRUE, confirming that Bob's score is indeed NOT a perfect score.

Common errors

Which NOT error are you seeing?
NOT returned an error#VALUE!
Reference a single cell or wrap the range in an aggregating function like AND or OR before applying NOT.
#N/A
Guard the lookup with IFERROR or IFNA, for example =NOT(IFERROR(VLOOKUP(...),FALSE)).
#REF!
Correct the cell reference so it points to an existing cell, or remove the stray reference.
ErrorWhy it happensHow to fix it
#VALUE!NOT was given a multi-cell range (e.g., =NOT(A2:E4)) which cannot be coerced to a single logical value.Reference a single cell or wrap the range in an aggregating function like AND or OR before applying NOT.
#N/AThe argument to NOT evaluates to #N/A, such as when VLOOKUP cannot find the lookup value (e.g., =NOT(VLOOKUP("Dana",A2:E4,4,FALSE))).Guard the lookup with IFERROR or IFNA, for example =NOT(IFERROR(VLOOKUP(...),FALSE)).
#REF!The formula references a non-existent cell, for instance =NOT(A100) when row 100 is outside the sheet.Correct the cell reference so it points to an existing cell, or remove the stray reference.

Tips and when to use something else

  • Use NOT to invert a single TRUE/FALSE test; for multiple conditions combine them first with AND or OR, then apply NOT once.
  • Remember that NOT treats 0 as FALSE and any non-zero number as TRUE, so wrapping numeric expressions with ISNUMBER or explicit comparisons can avoid accidental coercion.
  • When you need to flip a whole column of logical results, prefer MAP with a LAMBDA that returns NOT(x) rather than NOT, which only accepts a single value.
  • If your goal is to filter rows that do NOT meet a condition, consider using FILTER or COUNTIFS directly instead of layering NOT around another function.

Frequently asked questions

How does NOT treat numeric values like 0 or 5?
In Excel and Google Sheets, NOT coerces numbers to Boolean: 0 is treated as FALSE, so NOT(0) returns TRUE. Any non-zero number is treated as TRUE, so NOT(5) returns FALSE. This implicit conversion can be surprising, so use explicit comparisons if you need precise logic.
Can I use NOT on an array of logical values?
NOT itself only accepts a single logical argument; passing an array such as A2:A5 results in a #VALUE! error. To invert each element of an array, use MAP with a LAMBDA that returns NOT(x), or apply the double-unary operator (-- ) in an array formula context.
Why does NOT return #VALUE! when I reference a whole column?
Column references like A:A produce a range containing many cells. NOT expects a single logical value, so it cannot implicitly reduce a multi-cell range and therefore raises #VALUE!. Reduce the range to a single cell, or combine the column with an aggregating function (e.g., AND(A:A)) before applying NOT.
What is the difference between =NOT(A1) and =A1=FALSE?
Both formulas return the opposite Boolean of A1, but =A1=FALSE performs a direct comparison that yields TRUE when A1 is FALSE or 0, and FALSE otherwise. =NOT(A1) first coerces A1 to Boolean (0 becomes FALSE, non-zero becomes TRUE) and then flips it. The subtle difference appears when A1 contains non-Boolean values like text; NOT will return #VALUE! while the comparison may return FALSE.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17