AND function

AND returns TRUE only if every supplied logical argument evaluates to TRUE; otherwise it returns FALSE, making it ideal for multi-condition checks.

=AND(logical1, ...)

Generate a AND formula

Describe what you need. The generator will reach for AND where AND 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 AND reads its arguments
logical1requiredAND
ArgumentRequiredDescription
logical1RequiredThe first condition to evaluate; can be a logical expression, number, or reference; non-zero numbers are treated as TRUE, zero as FALSE.
...RepeatingOptional additional conditions; each is coerced to a Boolean in the same way as logical1, and the function short-circuits on the first FALSE.

Returns

Returns a single Boolean value (TRUE or FALSE) of scalar shape.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Check overdue high-effort task

TaskOwnerStart DateDue DateHours Logged
Backend APIBob2024-01-032024-01-1215
=AND($D2<TODAY(), $E2>10)  — assuming today is 2024-01-13

Result: TRUE

The due date in D2 (2024-01-12) is earlier than TODAY(), so the first condition is TRUE. The hours logged in E2 (15) exceed the threshold of 10, making the second condition TRUE as well. Because both arguments are TRUE, AND returns TRUE, indicating the task is both overdue and high-effort.

2. Validate Alice's start date vs kickoff

TaskOwnerStart DateDue DateHours Logged
Design UIAlice2024-01-022024-01-0912
Kickoff Date2024-01-01
=AND($C2>=$G$1, $E2<=20)

Result: TRUE

Cell G1 holds the project kickoff date (2024-01-01). Alice's task starts on 2024-01-02, which satisfies the first condition $C2>=$G$1. Her logged hours (12) are less than or equal to the 20-hour ceiling, satisfying the second condition. Since both logical tests are TRUE, AND outputs TRUE, confirming the task meets the scheduling constraints.

3. Ensure a task is not Bob's and has logged time

TaskOwnerStart DateDue DateHours Logged
TestingCharlie2024-01-102024-01-158
=AND(NOT($B4="Bob"), NOT($E4=0))

Result: TRUE

The owner in B4 is "Charlie", so NOT($B4="Bob") evaluates to TRUE because the comparison is FALSE. Hours logged in E4 are 8, so $E4=0 is FALSE and NOT($E4=0) is TRUE. Both NOT expressions are TRUE, therefore AND returns TRUE, confirming the task is neither assigned to Bob nor empty of logged hours.

Common errors

Which AND error are you seeing?
AND returned an error#VALUE!
Replace the text with a proper Boolean (TRUE/FALSE) or a numeric value (0 or non-zero) that can be interpreted correctly.
#N/A
Wrap the lookup in IFERROR or IFNA to supply a default logical value before passing it to AND.
#REF!
Restore the missing cell/range or adjust the formula to point to a valid location.
ErrorWhy it happensHow to fix it
#VALUE!A non-numeric, non-logical text like "yes" cannot be coerced to TRUE or FALSE, causing AND to raise #VALUE!.Replace the text with a proper Boolean (TRUE/FALSE) or a numeric value (0 or non-zero) that can be interpreted correctly.
#N/AOne of the arguments is a lookup that returns #N/A, and AND propagates that error instead of a Boolean.Wrap the lookup in IFERROR or IFNA to supply a default logical value before passing it to AND.
#REF!A referenced cell or range was deleted, leaving an invalid reference inside the AND arguments.Restore the missing cell/range or adjust the formula to point to a valid location.

Tips and when to use something else

  • Use AND inside Conditional Formatting rules to highlight rows that satisfy every required criterion.
  • Remember that numbers are coerced: any non-zero number counts as TRUE, while 0 counts as FALSE.
  • When you need only one of several conditions to be met, switch to OR, which returns TRUE if any argument is TRUE.
  • For many related logical tests, wrap them in LET to give each test a name, making the final AND call easier to read.

Frequently asked questions

How does AND treat empty cells in its arguments?
Empty cells are coerced to FALSE. If an empty cell appears in any argument, AND will return FALSE unless another argument already forces a FALSE result. To ignore empties, wrap the reference with ISBLANK or supply a default TRUE value.
Can AND work with whole ranges or arrays in Google Sheets?
Yes. In Google Sheets, AND can accept a range like A2:A5; it evaluates each cell in the range and returns a single TRUE only if every cell is TRUE (or coerces to TRUE). If any cell is FALSE or an error, the overall result is FALSE or that error.
Why does AND sometimes give FALSE even though I think all conditions are met?
Hidden characters, leading/trailing spaces in text comparisons, or numbers stored as text can cause a condition to evaluate as FALSE. Use TRIM, VALUE, or explicit comparisons (e.g., $E2=0) to ensure the logic matches the actual data type.
What’s the difference between using AND and nesting multiple IF statements?
AND simply returns a Boolean indicating whether all conditions are true, which can then be fed into a single IF for the final result. Nesting IFs can produce different outputs for each condition and may be harder to maintain. Prefer AND when you only need a true/false gate before a single action.

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