Skip to main content

Formula example

FILTER Rows by Date Formula Example

Return all sales rows where the Date column is on or after the date in F1. If F1 is 2026-02-01, the sample formula returns the two February rows.

Copyable formula

Excel and Google Sheets formula
=IFERROR(FILTER(A2:D100, A2:A100>=F1), "No matches")
What it returns

With F1 set to 2026-02-01, the formula returns the rows for 2026-02-03 and 2026-02-15.

Useful variations

On or after selected date
=IFERROR(FILTER(A2:D100, A2:A100>=F1), "No matches")

Works in Excel 365 and Google Sheets when F1 is a real date.

Before selected date
=IFERROR(FILTER(A2:D100, A2:A100<F1), "No matches")

Use < or <= when the report should return rows before a cutoff date.

Excel between two dates
=IFERROR(FILTER(A2:D100, (A2:A100>=F1)*(A2:A100<G1)), "No matches")

F1 is the start date and G1 is the exclusive upper boundary.

Google Sheets between two dates
=IFERROR(FILTER(A2:D100, A2:A100>=F1, A2:A100<G1), "No matches")

Google Sheets can pass each condition as a separate FILTER argument.

Sample data

DateRegionProductAmount
2026-01-04EastWidget420
2026-01-12WestWidget310
2026-02-03EastGadget275
2026-02-15EastWidget640

When to use this formula

  • You need matching rows, not a single total.
  • The source data has a real Date column and users choose a start date in a cell.
  • You want a clear No matches message when the date filter returns no rows.

Use real dates, not typed text

F1 should contain a spreadsheet date value. If the date was imported as text, convert it first or the comparison can return the wrong rows.

Excel and Google Sheets difference

A single date condition uses the same FILTER pattern in Excel 365 and Google Sheets. For multiple date conditions, Excel commonly multiplies the conditions inside one include argument, while Google Sheets can pass each condition as its own argument.

Use an exclusive upper boundary

For date ranges, use A >= start date and A < next day or next month. The less-than upper boundary keeps rows with time values inside the correct date window.

Returned rows from the sample data

F1 dateConditionReturned rows
2026-01-12Date >= F12026-01-12, 2026-02-03, and 2026-02-15
2026-02-01Date >= F12026-02-03 and 2026-02-15
2026-03-01Date >= F1No matches

Date operator guide

NeedConditionUse when
On or after a dateA2:A100>=F1A rolling report starts at F1
Before a dateA2:A100<F1A cutoff excludes the date in F1
Between dates(A2:A100>=F1)*(A2:A100<G1)Excel needs both boundaries
Between dates in Google SheetsA2:A100>=F1, A2:A100<G1Sheets FILTER accepts separate conditions

Formula explanation

  • A2:D100 is the range returned by FILTER.
  • A2:A100>=F1 keeps only rows on or after the date in F1.
  • IFERROR returns a friendly message instead of a raw no-match error.

Common errors

  • The date cell must contain a real date value, not a date-looking text string.
  • FILTER output needs empty spill space below and to the right.
  • Use an exclusive upper boundary such as <G1 when source dates may include times.
  • For multiple conditions, use the correct Excel or Google Sheets condition syntax.

Build your own version

Use the formula builder for this pattern: FILTER Formula Builder.

Related formulas

FAQ

Does FILTER work in older Excel?

FILTER requires dynamic array Excel. Older versions need helper columns, Advanced Filter, or Power Query.

Can I filter before a date too?

Yes. Change >= to <, <=, or another comparison operator depending on whether the boundary date should be included.

Why does FILTER return no rows for a date that exists?

The most common cause is a text date in either the source column or the criteria cell. Convert both sides to real dates and check for hidden time values.

How do I filter between two dates in Google Sheets?

Use FILTER(A2:D100, A2:A100>=F1, A2:A100<G1) and wrap it in IFERROR if you want a friendly no-match message.