FILTER with AND / OR Conditions

Excel Formulas › Dynamic Arrays

365 / 2021FILTER

Extract rows that meet several conditions with FILTER. Multiply the conditions for AND, add them for OR — the spilling result updates as the data changes.


Quick formula: rows where Region is East AND Sales over 1000:
=FILTER(data, (Region="East")*(Sales>1000))
Multiplying the two condition arrays is logical AND; both must be TRUE (1×1) for a row to pass.

Functions used (tap for the full reference guide):

The example

Filtering on two conditions at once.

AB
1LogicOperator
2AND(c1)*(c2)
3OR(c1)+(c2)

The formula

Multiply for AND, add for OR:

=FILTER(data, (Region="East")*(Sales>1000)) // AND =FILTER(data, (Region="East")+(Region="West")) // OR

How it works

Boolean arithmetic drives the conditions:

  1. Each condition is an array of TRUE/FALSE (treated as 1/0).
  2. Multiplying them is AND — a row passes only if every condition is 1.
  3. Adding them is OR — a row passes if any condition is ≥ 1.
  4. Wrap a third FILTER argument to handle no matches: FILTER(data, cond, "none") avoids a #CALC! error.

Mix AND and OR carefully. Group with parentheses: (A)*((B)+(C)) means “A and (B or C).” Boolean arithmetic has no operator precedence safety net here — parenthesize every group.

Try it: interactive demo

Live demo

Region + min sales; AND or OR.

Variations

OR conditions

Add the arrays:

=FILTER(data, (R="East")+(R="West"))

Handle no match

Default text:

=FILTER(data, cond, "none")

AND with OR group

Parenthesize:

=FILTER(data, (A)*((B)+(C)))

Pitfalls & errors

No match = #CALC! Supply the third argument (a default) so an empty result doesn’t error.

Use * and +, not AND()/OR(). The AND/OR functions collapse arrays to one value; multiply/add keeps them element-wise.

Equal-length conditions. Every condition array must match the data’s row count.

Practice workbook

📊
Download the free FILTER with AND / OR Conditions practice workbook
FILTER AND/OR examples (formula text + result) with no-match and grouped-logic variants, plus 4 challenges with answers. No sign-up required.

Frequently asked questions

How do I use multiple conditions in FILTER?
Multiply condition arrays for AND: =FILTER(data, (Region="East")*(Sales>1000)); add them for OR: =FILTER(data, (Region="East")+(Region="West")). Requires Excel 365/2021.
Why does FILTER return #CALC!?
No rows matched. Supply a third argument as a default: =FILTER(data, condition, "none").
Why not use AND() and OR() inside FILTER?
AND() and OR() reduce an array to a single value. Use * (AND) and + (OR) so the logic stays element-wise across rows.

Stop fighting formulas. Learn them in a day.

This recipe is one of hundreds of real-world formulas we teach. Our Excel Formulas & Functions class covers lookups, logic, text, and dynamic arrays hands-on — live in Dallas–Fort Worth, Houston, Austin, Oklahoma City, Denver, or online.

See the Formulas & Functions Class

Related formulas: Filter data · Extract matching rows · SUMIFS multiple criteria

Function references: FILTER