FILTER Function vs Advanced Filter in Excel
By ExcelReady TeamUpdated 7 min read
The short answer
The FILTER function is a formula that returns matching rows and updates by itself when the data changes, but it needs Excel 2021 or Microsoft 365. Advanced Filter is a menu tool that filters with a criteria range on the sheet and works in every version, but its result is a one-time copy you must run again after changes.
Key takeaways
- FILTER is a live formula; Advanced Filter gives a fixed result you have to re-run.
- Advanced Filter works in every Excel version. FILTER needs Excel 2021 or Microsoft 365.
- Advanced Filter reads its conditions from a criteria range: same row means AND, different rows mean OR.
- In a criteria range, North matches any text that starts with North. Type ="=North" for an exact match.
- Use FILTER for reports and dashboards, and Advanced Filter for one-off extracts or older files.
On this page+
The FILTER function vs Advanced Filter choice comes down to one question: do you want a live result or a one-time copy? FILTER is a formula that returns matching rows and updates the moment the data changes, in Excel 2021 or Microsoft 365. Advanced Filter is an older menu tool that reads its conditions from cells on the sheet and copies the matches once, in any version. This guide compares them on the same data so you can pick the right one for a report, an old workbook or a job test.
FILTER function vs Advanced Filter at a glance#
Both pull out the rows that meet your conditions. The difference is how you set the conditions and whether the result stays up to date.
| Feature | FILTER function | Advanced Filter |
|---|---|---|
| What it is | A formula: =FILTER(array, include, [if_empty]) | A tool: Data > Advanced |
| Where conditions go | Inside the formula | In a criteria range of cells on the sheet |
| Updates when data changes | Yes, instantly | No, run it again |
| Where results appear | Spill from the formula cell | In place (rows hidden) or copied to another range |
| Headers in the result | No, add them yourself | Yes, copied with the data |
| AND / OR | Multiply tests for AND, add for OR | Same row for AND, different rows for OR |
| Unique records | Wrap in UNIQUE | Built-in checkbox |
| Text matching | Exact by default | "Starts with" by default |
| Nothing matches | #CALC! unless you set if_empty | Only the headers appear |
| Excel versions | Excel 2021, 2024 and Microsoft 365 | All versions, Windows and Mac |
How each one works#
FILTER takes the data, a TRUE/FALSE test for each row, and an optional message for when nothing matches. The result spills: it fills as many cells as it needs below and to the right of the formula. The FILTER function guide covers each argument.
Advanced Filter needs a criteria range: a small block of cells with column headers copied exactly from your data, and conditions typed underneath. Excel reads the block like this:
- Conditions on the same row must all be true (AND).
- Conditions on different rows are alternatives (OR).
- An empty cell under a header means "anything".
You then choose Data > Sort & Filter > Advanced (Mac: Data > Advanced), tell Excel where the list and the criteria are, and choose whether to filter in place or copy the results elsewhere.
The same task, solved both ways#
Here is a list of orders in A1:D8:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Order | Region | Rep | Amount |
| 2 | 1001 | North | Ana | 1,200 |
| 3 | 1002 | South | Ben | 450 |
| 4 | 1003 | East | Chen | 980 |
| 5 | 1004 | North | Dev | 300 |
| 6 | 1005 | South | Ella | 1,500 |
| 7 | 1006 | West | Femi | 700 |
| 8 | 1007 | North | Gus | 850 |
The task: list every order that is North with an amount over 500, or any order in the South. That mix of AND and OR is where AutoFilter's buttons struggle and both of these tools shine.
With the FILTER function#
Click F2 and type:
=FILTER(A2:D8,(B2:B8="North")*(D2:D8>500)+(B2:B8="South"))Multiplying the two North tests means both must be true. Adding the South test means either side can be true. The result spills into F2:I5:
| Order | Region | Rep | Amount |
|---|---|---|---|
| 1001 | North | Ana | 1,200 |
| 1002 | South | Ben | 450 |
| 1005 | South | Ella | 1,500 |
| 1007 | North | Gus | 850 |
Change Dev's amount in D5 to 900 and order 1004 appears straight away.
With Advanced Filter#
First, build the criteria range in F1:G3:
| F | G | |
|---|---|---|
| 1 | Region | Amount |
| 2 | North | >500 |
| 3 | South |
Row 2 says "North AND over 500". Row 3 says "South, any amount". Because they are on different rows, a record that matches either is included. Then:
- Click any cell in the data.
- Choose Data > Sort & Filter > Advanced.
- Choose Copy to another location.
- Check that List range is
$A$1:$D$8, set Criteria range to$F$1:$G$3and Copy to to$I$1. - Click OK.
The same four orders appear from I1, with headers. But if Dev's amount changes to 900, the result stays the same until you run Advanced Filter again.
When to use Advanced Filter#
Advanced Filter is still the right tool in a few situations:
- Older Excel. In Excel 2019 or earlier, FILTER shows #NAME?. Advanced Filter works everywhere.
- A one-time extract. If you need a fixed list to send or archive, a static copy is what you want.
- Unique values in older versions. Select one column, choose Copy to another location and tick Unique records only.
- Conditions other people can edit. The criteria range sits on the sheet, so a colleague can change "North" to "West" without touching a formula, then re-run the filter.
- Filtering in place with complex logic. Choose Filter the list, in-place to hide non-matching rows using AND/OR rules the filter buttons can't express.
When to use the FILTER function#
FILTER is the better choice for most new work in Excel 2021 or Microsoft 365:
- Reports and dashboards that must stay current as data is added.
- Results that feed other formulas.
=SUM(FILTER(D2:D8,B2:B8="North"))adds the North amounts: 2,350. The guide to filtering and summing with one formula shows more. - Conditions driven by input cells, such as a region in G1 or dates between two cells. See filtering by date for date ranges.
- Sorted or unique results in one step, by wrapping FILTER in SORT or UNIQUE.
- Returning many matches. A lookup returns one row; FILTER returns all of them. The comparison of XLOOKUP vs FILTER explains when each fits.
If you only need to look at a subset quickly, the filter buttons may be enough. The comparison of the FILTER function vs AutoFilter covers that choice, and the filter a table lesson practises the buttons.
Common mistakes with FILTER and Advanced Filter#
These are the slips that most often give the wrong rows:
- Criteria headers that don't match. In Advanced Filter, "Amount " with a trailing space is not "Amount". Copy the headers from the data instead of typing them.
- Expecting an exact text match. In a criteria range,
Northmatches anything that starts with North, including "Northeast". To match exactly, type="=North"in the criteria cell. - A blank row in the criteria range. An empty row means "anything", so every record passes. Make the criteria range stop at the last condition row.
- Copying to another sheet from the wrong place. Advanced Filter can only copy to the active sheet. Start it from the sheet where the results should go.
- Forgetting to re-run Advanced Filter after the data changes. The old result looks fine but is out of date.
- FILTER returning #CALC! when nothing matches. Add a third argument:
=FILTER(A2:D8,B2:B8="North","No orders"). - FILTER returning #SPILL! because cells below the formula aren't empty. Clear them.
Advanced Filter can also use formula criteria: leave the criteria header blank (or use a name that isn't a column header) and type a test that refers to the first data row, such as =D2>AVERAGE($D$2:$D$8). That returns the three orders above the average of 854.29. The FILTER version is simpler: =FILTER(A2:D8,D2:D8>AVERAGE(D2:D8)). Questions like this come up in the advanced Excel interview questions, so it's worth knowing both.
Our recommendation#
If you and everyone who opens the file have Excel 2021 or Microsoft 365, use the FILTER function. It updates by itself, the logic is visible in one formula, and it combines with SORT, UNIQUE and SUM.
Keep Advanced Filter for older versions, for one-time extracts you want frozen, and for quick unique lists or in-place filtering with OR logic across columns. Learn its criteria-range rules too, because older workbooks and some job tests still use it.
In short: FILTER for anything that should stay live, Advanced Filter for a snapshot.
Practise it#
Try the exercise on this page: it combines AND and OR in one FILTER formula, the same logic as the criteria range above. Then practise the FILTER function in a live spreadsheet: you type each formula and it checks it instantly. The filter a table lesson covers the filter buttons and SUBTOTAL, and the data analyst Excel test puts both under time pressure.
Try it yourself
This is a live spreadsheet. Type the formula in the green cell and press Enter.
In F2, use FILTER to return every order that is North with an Amount over 500, or in the South region. Multiply the two North tests, then add the South test.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Amount | ||||||
| 2 | |||||||
| 3 | |||||||
| 4 | |||||||
| 5 | |||||||
| 6 | |||||||
| 7 | |||||||
| 8 | |||||||
| 9 | |||||||
| 10 | |||||||
| 11 |
Tip: AND is *, OR is +. The include argument is (B2:B8="North")*(D2:D8>500)+(B2:B8="South").
Practise this in a lesson
Frequently asked questions
Is the FILTER function better than Advanced Filter?
For most new work, yes, because it updates by itself and the conditions live in the formula. Advanced Filter is still useful in Excel 2019 or earlier, and for a quick one-time extract to another place.
Does Advanced Filter update automatically?
No. Advanced Filter produces a fixed result. If the data or the criteria change, you have to run it again from Data > Advanced.
How do I use OR conditions in Advanced Filter?
Put each condition on a different row of the criteria range. Conditions on the same row must all be true, and a record that matches any one row is included.
Can Advanced Filter copy results to another sheet?
Yes, but you must start Advanced Filter from the destination sheet. Go to the sheet where the results should go, then choose Data > Advanced and point the list range at the other sheet.
How do I get unique values with Advanced Filter?
Choose Data > Advanced, select one column as the list range, choose Copy to another location, and tick Unique records only. In Microsoft 365, the UNIQUE function does the same job with a formula.