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, …
A2:D1110 rows × 4 cols: "SO-801", "East", "Ana Ruiz", $1,840, …A range: 10 rows × 4 columns.
B2:B1110 rows × 1 col: "East", "West", "East", "North", …A range: 10 cells in one column.
G1"East"The value in G1.
B2:B11=G1{10 rows × 1 col} TRUE, FALSE, TRUE, FALSE, …The = operator tests whether the two sides are equal.
D2:D1110 rows × 1 col: $1,840, $420, $395, $1,720, …A range: 10 cells in one column.
G2$1,000The value in G2.
D2:D11>=G2{10 rows × 1 col} TRUE, FALSE, FALSE, TRUE, …The >= operator tests at least.
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.- range
A2:D1110 rows × 4 cols: "SO-801", "East", "Ana Ruiz", $1,840, … - condition1
B2:B11=G1{10 rows × 1 col} TRUE, FALSE, TRUE, FALSE, … - condition2, ...
D2:D11>=G2{10 rows × 1 col} TRUE, FALSE, FALSE, TRUE, …
- range
In Excel
=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.
| Formula | Result | When to use it |
|---|---|---|
| =FILTER(A2:D11,(B2:B11=G1)*(D2:D11>=G2)) | spills 4 × 4 | Multiplied tests in one argument: the form that works in Excel as well. |
| =FILTER(A2:D11,(B2:B11=G1)+(D2:D11>=G2)) | spills 8 × 4Different result | For 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
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.