AND Function

Excel Functions › Logical

All Excel versions

The Excel AND function tests several conditions at once and returns TRUE only when every one of them is TRUE — one FALSE anywhere and the whole thing is FALSE. On its own it produces TRUE/FALSE flags; inside IF it builds multi-condition rules like “bonus only if units ≥ 100 and rating ≥ 4”. Its permissive twin is OR, which needs just one TRUE.


Quick answer: to require two conditions at once inside an IF:
=IF(AND(B2>=100, C2>=4), "Bonus", "No bonus")
AND returns TRUE only when both tests pass; IF then picks the outcome. Add as many conditions as you like, separated by commas.

Syntax

=AND(logical1, [logical2], ...)
ArgumentDescription
logical1RequiredThe first condition — anything that evaluates to TRUE or FALSE, like B2>=100.
logical2, …OptionalUp to 255 conditions in total. AND returns TRUE only if every one is TRUE.

Available in: every version of Excel, desktop and web. Text and empty cells in the arguments are ignored; if no argument yields a logical value, AND returns #VALUE!.

All conditions must pass

Bonus eligibility needs 100+ units and a rating of at least 4. AND in D2, copied down, flags each rep:

ABCD
1RepUnitsRatingEligible?
2Avery1324.6TRUE
3Blake1183.8FALSE
4Casey874.9FALSE
5Drew1454.2TRUE
=AND(B2>=100, C2>=4) // TRUE only when both hold

Raw TRUE/FALSE is fine for a flag column, but the everyday pattern wraps it in IF for readable output:

=IF(AND(B2>=100, C2>=4), "Bonus", "No bonus")

Conditions can reference different cells, sheets, even other functions — a between-two-dates test is classic AND territory:

=AND(A2>=DATE(2026,1,1), A2<=DATE(2026,6,30)) // date falls in the first half of 2026

Try it: interactive AND demo

Live demo

Toggle the three conditions and watch AND demand perfection — one unchecked box sinks the whole result.

AND vs (a)*(b): why FILTER uses multiplication instead

There’s one place AND will let you down: dynamic-array formulas. AND collapses everything it’s given into a single TRUE/FALSE — it doesn’t return one answer per row. That’s why FILTER conditions are written as multiplication:

=FILTER(A2:C50, (B2:B50>=100) * (C2:C50>=4)) // row-by-row AND: multiply the conditions
=FILTER(A2:C50, AND(B2:B50>=100, C2:C50>=4)) // wrong: AND collapses to one value, not one per row

Multiplying coerces TRUE/FALSE to 1/0, so (a)*(b) is 1 only when both are TRUE — a per-row AND. The same idea with + gives a per-row OR. Inside a plain IF on a single row, though, AND remains the readable choice.

Counting with multiple conditions? You don’t need AND at all — COUNTIFS and SUMIFS take multiple criteria natively and apply them as an implicit AND.

Errors & common pitfalls

#VALUE! — no logical values found. If every argument is text or empty, AND has nothing to evaluate. Check that your conditions actually compare something: AND(B2, C2) on text cells fails; AND(B2="Yes", C2="Yes") works.

Pitfall: writing 100<=B2<=200. Chained comparisons don’t work in Excel — that expression evaluates left to right and gives a nonsense result rather than an error. Write =AND(B2>=100, B2<=200) for a between test.

Pitfall: using AND inside FILTER or other array formulas. AND aggregates the entire array to one value, so the filter returns everything or nothing. Use (condition1)*(condition2) instead — see the section above.

Pitfall: numbers stored as text. B2>=100 never passes when B2 holds the text “132”. Watch for green corner triangles and left-aligned numbers, and convert with VALUE() if needed.

Practice workbook

📊
Download the free AND practice workbook
Every example on this page, ready to open in Excel — plus practice challenges with answers on a separate tab. No sign-up required.

Frequently asked questions

How do I use AND inside an IF formula?
Put it in the test slot: =IF(AND(B2>=100, C2>=4), "Bonus", "No bonus"). AND resolves all its conditions to a single TRUE or FALSE, and IF picks the outcome. OR works the same way when any single condition should suffice.
How many conditions can AND take?
Up to 255. In practice, if you're past five or six, consider whether a helper column or COUNTIFS would read better - long AND chains are hard to audit.
How do I test if a value is between two numbers?
Two conditions joined by AND: =AND(B2>=100, B2<=200). Excel does not support the chained form 100<=B2<=200 — it silently evaluates wrong rather than erroring.
Why doesn't AND work inside FILTER?
AND collapses all values from all conditions into one single TRUE/FALSE, but FILTER needs one TRUE/FALSE per row. Multiply the conditions instead: =FILTER(data, (B2:B50>=100)*(C2:C50>=4)). Multiplication acts as a row-by-row AND.
What's the difference between AND and OR?
AND returns TRUE only when every condition is TRUE; OR returns TRUE when at least one is. Mnemonic: AND is the strict parent, OR is the lenient one. They nest happily: =IF(AND(A2="West", OR(B2>100, C2>4)), ...).

Master functions like this in one day

This page covers one function. Our Excel Formulas and Functions class covers the 30 that matter most — live, hands-on, taught by professionals in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related functions: OR · NOT · XOR · IF · IFS · FILTER