Logical · inverts a logical value · Nov 2026

The NOT function,
measured & explained.

Syntax, a live playground, a measured truth table and coercion gallery, the eager-evaluation trap, and a sourced error library: inverts a logical value.

D1
fx
=NOT(A2>=60)
0
truth-table rows measured
0
sourced errors fixed
0
platforms checked
// 01 — Anatomy

How NOT works

Inverts a logical value: TRUE becomes FALSE, FALSE becomes TRUE. It returns a single logical value, so it is usually combined with IF to branch to a result.

=NOT(A2>=60)
logicalRequired. The value or condition to invert.
unaryNOT takes exactly one argument.
De MorganNOT(AND(a,b)) = OR(NOT(a),NOT(b)).
// 02 — Inversion

What NOT actually returns

NOT flips a logical value: TRUE becomes FALSE and vice versa. The tables below were measured live in the HyperFormula engine. Click any truth-table row to load it into the live playground.

Truth table

ANOT(A)
TRUEFALSE
FALSETRUE

What counts as TRUE? (measured coercion)

Numbers, text and blanks do not all behave the same. Every value below was measured in the engine.

InputNOT resultWhy
=NOT(0)TRUEZero → FALSE, inverted to TRUE
=NOT(2)FALSENon-zero → TRUE, inverted to FALSE
=NOT("TRUE")FALSEText "TRUE" coerces then inverts → FALSE
=NOT(E2) (blank cell)TRUEBlank reads FALSE, inverted → TRUE
=NOT(NOT(TRUE))TRUEDouble negation returns the original
⚠ The eager-evaluation trap. NOT evaluates every argument before deciding — so one failing argument errors the whole formula even when the result is already determined. IF is different: it is lazy.
InputResultWhy
=NOT(1/0)#DIV/0!NOT evaluates its argument first; the error wins
=IF(FALSE,1/0,5)5IF is lazy: it never touches the untaken branch
=IFERROR(NOT(1/0),"safe")safeWrap the whole thing to absorb the error

De Morgan's laws (measured)

NOT distributes over AND/OR by flipping the operator. These equivalences let you rewrite any negated condition.

Negated formEquivalentBoth give
=NOT(AND(A2>=60,B2>=90))=OR(NOT(A2>=60),NOT(B2>=90))FALSE
=NOT(OR(A2>=90,B2>=90))=AND(NOT(A2>=90),NOT(B2>=90))FALSE
NOT as a guard. NOT(ISBLANK(A2)) is TRUE when A2 has a value; NOT(ISERROR(x)) keeps only clean results. Double negation NOT(NOT(x)) returns x.
// 03 — Try it live

Interactive NOT playground

Edit the table or type any formula — the HyperFormula engine evaluates it instantly. Load a preset to see NOT return TRUE/FALSE, coerce numbers and text, and hit the eager-evaluation trap in real time.

A1Sample data — click any cell to edit, the formula re-evaluates live
Result
—
✓ readyHyperFormula 3.5
// 04 — Error library

The real-world error library

8 failure patterns mined from actual user reports on Reddit, Stack Overflow and Super User — each with the authentic symptom, root cause, a fix, and a runnable formula. Not textbook theory.

// 05 — Cross-platform

Where NOT works

NOT is available across modern Excel, Google Sheets and LibreOffice. It has been in Excel since 2003, so every platform below supports it.

PlatformSupportNotesGotcha
✓ Supported full NOT◐ Partial works with caveatsCompiled from public docs · verify against your build
// Go deeper

Master logical logic

NOT is the inverter. The full course walks the logical toolkit end to end — AND/OR/XOR/NOT, De Morgan’s laws, and guard patterns like NOT(ISBLANK()).

  • AND · OR · XOR · NOT — choosing the right combiner
  • De Morgan’s laws: push a negation through AND/OR
  • Guards: NOT(ISBLANK()) and NOT(ISERROR())
  • Double negation and clean conditions
Free while in beta
Browse the function library

No account needed. Every page has a live playground.

// 07 — FAQ

Frequently asked