Spreadsheet Practice

How to use FILTER with multiple conditions in Google Sheets

Google Sheets formula

=FILTER(A2:D11,B2:B11=G1,D2:D11>=G2)

Give each condition its own argument: =FILTER(A2:D11,B2:B11=G1,D2:D11>=G2) keeps rows that pass every condition.

Result on the example
a 4-row list that spills from F4 in F4
Excel
See below

See it work

The formula is already in F4. Change any input and the result updates, or edit the formula to experiment.

How it works

In Google Sheets, FILTER accepts any number of conditions after the range, and a row comes back only when all of them are TRUE. That's AND logic without any multiplying. Each condition must cover the same rows as the range.

=FILTER(A2:D11,B2:B11=G1,D2:D11>=G2)

Result{4 rows × 4 cols} "SO-801", "East", "Ana Ruiz", 1840, …

  1. A2:D1110 rows × 4 cols: "SO-801", "East", "Ana Ruiz", $1,840, …

    A range: 10 rows × 4 columns.

  2. B2:B1110 rows × 1 col: "East", "West", "East", "North", …

    A range: 10 cells in one column.

  3. G1"East"

    The value in G1.

  4. B2:B11=G1{10 rows × 1 col} TRUE, FALSE, TRUE, FALSE, …

    The = operator tests whether the two sides are equal.

  5. D2:D1110 rows × 1 col: $1,840, $420, $395, $1,720, …

    A range: 10 cells in one column.

  6. G2$1,000

    The value in G2.

  7. D2:D11>=G2{10 rows × 1 col} TRUE, FALSE, FALSE, TRUE, …

    The >= operator tests at least.

  8. FILTER(A2:D11,B2:B11=G1,D2:D11>=G2){4 rows × 4 cols} "SO-801", "East", "Ana Ruiz", 1840, …

    FILTER: Rows of a range that meet every condition. #N/A when none match.

    • rangeA2:D1110 rows × 4 cols: "SO-801", "East", "Ana Ruiz", $1,840, …
    • condition1B2:B11=G1{10 rows × 1 col} TRUE, FALSE, TRUE, FALSE, …
    • condition2, ...D2:D11>=G2{10 rows × 1 col} TRUE, FALSE, FALSE, TRUE, …

In Excel

Excel's FILTER takes one condition argument, so multiply the tests: =FILTER(A2:D11,(B2:B11=G1)*(D2:D11>=G2)). That version works in Google Sheets too.

Other ways to do it

Each one was run on the same example sheet.

FormulaResultWhen to use it
=FILTER(A2:D11,(B2:B11=G1)*(D2:D11>=G2))spills 4 × 4Multiplied tests in one argument: the form that works in Excel as well.
=FILTER(A2:D11,(B2:B11=G1)+(D2:D11>=G2))spills 8 × 4Different resultFor OR, add the tests inside one argument. Every East order, plus large orders from other regions.

Common mistakes

  • Separate arguments can only mean AND. For OR, add the tests inside one condition.
  • An Excel FILTER with a third if_empty argument is read as another condition in Sheets. Wrap the formula in IFNA for a "no results" message instead.
  • Conditions of different heights return an error about mismatched range sizes.

Try it yourself

Same data, empty answer cell. Your formula is graded instantly, then re-checked on changed data, so a typed-in number won't pass.

Use FILTER with multiple conditions

In F4, return the orders from the region in G1 with an amount of at least G2, giving FILTER each condition as its own argument.

Questions

What does FILTER return when nothing matches?

#N/A with "No matches are found in FILTER evaluation". Wrap it: =IFNA(FILTER(…),"None").

How do I filter by a date range?

Add two date conditions: =FILTER(A2:E11,E2:E11>=G3,E2:E11<=G4).

Checked by running on 2026-10-30: every formula and result on this page was calculated by the Spreadsheet Practice formula engine.