What is FILTER in Google Sheets?

FILTER returns only the rows from a range that meet one or more conditions. Conditions are boolean arrays the same height as the data. FILTER spills results automatically, so it replaced many INDEX/SMALL helper-column patterns for live subsets.

When to use it

Use FILTER for dynamic lists: open tasks, selected export rows, regional slices, or any table that should shrink and grow as source data changes.

When to skip it

Skip FILTER when you need grouped totals or sorted output with complex SQL. QUERY may be clearer. Static one-time cuts can use filter views instead.

How it works

  1. 1

    Point FILTER at the full data array including all columns you want in the output.

  2. 2

    Add a condition range and test, such as status column equals Open.

  3. 3

    Combine tests with * for AND or + for OR inside parentheses.

  4. 4

    Leave empty room for the spill below and beside the formula cell.

  5. 5

    Wrap with SORT if the filtered list needs ordering without QUERY.

  6. 6

    Use IFERROR or IFNA when no rows match and you want a friendly message.

Examples in Google Sheets

Open tasks

=FILTER(A2:E, D2:D="Open") returns all columns for rows where status is Open.

Region and quota

=FILTER(Sales!A:C, (B2:B="West")*(C2:C>1000)) keeps West rows above quota.

Checked rows

=FILTER(Data!A:D, E2:E=TRUE) exports only rows with the Include checkbox on.

Build this without starting from a blank cell

Use a Better Sheets tool for FILTER, then watch a walkthrough when you want the full pattern.

Better Sheets resources

Common mistakes

  • Condition ranges shorter than the data range, which returns #VALUE!.
  • Using AND() instead of * between boolean arrays in FILTER.
  • Placing the formula over data FILTER should return into.
  • Comparing dates stored as text, which filters out every row silently.
  • Expecting FILTER to aggregate; it only subsets rows.

Frequently asked questions

FILTER vs filter view?
FILTER is formula-driven and can feed other sheets. Filter views are UI-only on one tab.
Multiple conditions?
Multiply boolean arrays for AND or add them for OR.
Why #CALC! empty?
No rows matched. Use IFERROR to show a custom message.
FILTER with dates?
Compare date cells to DATE or TODAY() with consistent numeric date values.
Can FILTER return some columns?
Yes. FILTER the column array you need, or FILTER full rows then INDEX columns.
FILTER and SORT together?
Wrap FILTER inside SORT for ordered dynamic lists.
FILTER across sheets?
Reference another tab in the range argument like any formula.

Related Tutorials

Watch how FILTER works

Browse more tutorials
Make Your Headers Useful

Make Your Headers Useful

Today we're gonna talk about headers. I'm gonna give you three really co...
Search Every Function in Google Sheets

Search Every Function in Google Sheets

Built a useful tool to filter Google Sheet formulas based on keywords.
User Filter a Google Sheet Database based on Dates, Checkboxes, Dropdown!

User Filter a Google Sheet Database based on Dates, Checkboxes, Dropdown!

Search through and filter data to get what you want, when you want it. T...
Fabulous Filters

Fabulous Filters

How to let your end users find what they want. Use the FILTER() function...
Create a Public Sheet and Private Sheet: Using ImportRange()

Create a Public Sheet and Private Sheet: Using ImportRange()

Stick around after the 1st portion of the video for bonus content.
FILTER Can Save You From Task Overload

FILTER Can Save You From Task Overload

If you have a list of tasks and statuses, the FILTER formula will help k...

Related blog posts

Guides that explain FILTER in more depth.

Browse the blog

Related glossary terms

Done reading about FILTER?

Membership unlocks 636+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.

Need this once

Jump to a free tool or a single tutorial for this topic.

Learning Sheets for real

Unlock the full library, generators, and templates with membership.