The NOT function reverses a logical value: it turns TRUE into FALSE and FALSE into TRUE. It is used to negate conditions inside formulas, especially with IF, AND, and OR.
=NOT(logical)What does NOT do?
The NOT function is a simple logical tool that flips a Boolean value. Give it TRUE and it returns FALSE; give it FALSE and it returns TRUE. It does not evaluate numbers or text directly—it expects a logical expression or a value that Excel can interpret as TRUE or FALSE.
Why does this matter? Many Excel decisions are easier to express as the opposite of a condition. Instead of writing a complex condition for 'not equal', you can wrap a simple test in NOT. It keeps formulas readable and helps you avoid double negatives in logic.
Imagine you manage a small sales team and want to flag orders that are not yet shipped. You could write =IF(NOT(Shipped), "Pending", ""). That is often clearer than checking for a blank or a specific status. NOT shines when you need to invert a test without rewriting the whole condition.
When to use NOT
- Flagging records that do not meet a condition, such as orders not shipped or tasks not completed.
- Combining with IF to show a message when a test is false.
- Negating the result of AND or OR to express 'none of' or 'not both'.
- Checking that a value is not blank before performing a calculation.
- Reversing a TRUE/FALSE flag from another formula or imported data.
- Simplifying conditions that would otherwise use 'not equal to' or multiple negative checks.
NOT syntax
=NOT(logical)| Argument | Required? | What to enter |
|---|---|---|
logical | Required | A value or expression that evaluates to TRUE or FALSE. You can enter a logical test like A2>10, a cell containing TRUE/FALSE, or a number (0 is FALSE, any other number is TRUE). |
What it returns: The opposite Boolean value: TRUE becomes FALSE, and FALSE becomes TRUE. If the argument is a number, 0 returns TRUE and any non-zero number returns FALSE. If the argument is text that cannot be interpreted as a logical value, NOT returns #VALUE!.
NOT examples
1 Basic TRUE/FALSE reversal
This example shows the simplest use: reversing a literal TRUE. The formula =NOT(TRUE) returns FALSE. It is a quick way to see how NOT flips a logical value. You can replace TRUE with any logical expression.
| A | B | C | |
|---|---|---|---|
| 1 | Input | Result | |
| 2 | TRUE | FALSE | |
| 3 | FALSE | ||
| 4 |
2 Negating a comparison
Here we check whether a sales amount is not greater than 1000. The formula =NOT(B2>1000) returns TRUE when B2 is 800 because 800>1000 is FALSE, and NOT makes it TRUE. It returns FALSE when B2 is 1200. This is useful for flagging low sales without writing B2<=1000.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Item | Sales | |||
| 2 | Pen | 800 | TRUE | ||
| 3 | Notebook | 1200 | |||
| 4 | Marker | 950 | |||
| 5 |
3 Using NOT with IF to flag pending orders
The goal is to mark orders that are not shipped. The formula =IF(NOT(C2="Shipped"), "Pending", "Done") checks if C2 is not 'Shipped'. If true, it returns 'Pending'; otherwise 'Done'. For row 2, C2 is 'Pending', so NOT returns TRUE and the result is 'Pending'.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Order ID | Customer | Status | |||
| 2 | 101 | Acme | Pending | Pending | ||
| 3 | 102 | Beta | Shipped | |||
| 4 | 103 | Gamma | Pending | |||
| 5 |
4 Checking for non-blank cells with NOT and ISBLANK
This example flags whether a task has an assigned owner. The formula =NOT(ISBLANK(B2)) returns TRUE if B2 is not empty. For row 2, B2 contains 'John', so ISBLANK is FALSE and NOT returns TRUE. Row 3 is blank, so it returns FALSE. This is handy for tracking completion.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Task | Owner | |||
| 2 | Report | John | TRUE | ||
| 3 | Review | ||||
| 4 | Update | Mary | |||
| 5 |
Common NOT errors and how to fix them
| Error | Why it happens | How to fix it |
|---|---|---|
| #VALUE! | The argument is text that cannot be interpreted as TRUE or FALSE, such as =NOT("hello"). | Ensure the argument is a logical expression, a cell with TRUE/FALSE, or a number. Use comparison operators to create a logical test. |
| #NAME? | The function name is misspelled, e.g., =NOTT(TRUE). | Check the spelling: it is NOT, not NOTT or NOTHING. |
| Wrong result (unexpected TRUE/FALSE) | Forgetting that NOT reverses the result, or using a number where 0 is FALSE and non-zero is TRUE. | Double-check the logic. Remember =NOT(0) returns TRUE and =NOT(5) returns FALSE. |
| #N/A | The argument refers to an empty cell that is expected to contain a logical value. | Use ISBLANK or a comparison to handle empty cells, e.g., =NOT(ISBLANK(A1)). |
Tips for using NOT
- Use NOT to simplify conditions that would otherwise require 'not equal to' or multiple negative checks.
- Combine NOT with AND or OR to express 'not both' or 'none of' clearly.
- Remember that NOT expects a logical value; use comparison operators to create one from numbers or text.
- When debugging, evaluate the inner expression first, then apply NOT to see the reversal.
- Avoid double negatives like
NOT(NOT(A1>5)); they confuse readers and are unnecessary.
Frequently asked questions
What does the NOT function do in Excel?
NOT reverses a logical value: TRUE becomes FALSE and FALSE becomes TRUE. It is used to negate conditions in formulas.
Can I use NOT with IF?
Yes, NOT is commonly used inside IF to test the opposite of a condition, e.g., =IF(NOT(A1="Yes"), "No", "Yes").
What happens if I pass a number to NOT?
Excel treats 0 as FALSE and any non-zero number as TRUE. So =NOT(0) returns TRUE and =NOT(5) returns FALSE.
Why does NOT return #VALUE!?
If the argument is text that cannot be interpreted as a logical value, NOT returns #VALUE!. Use a comparison or IS functions to create a logical value.
Related functions
Every example on this page was recalculated by SheetSkill’s spreadsheet engine. NOT reference