ExcelReady
CourseMock testsFunction guidesBlog
Start freeStart learning for free
ExcelReady

Be Excel-ready before day one. Hands-on practice in your browser, with instant feedback.

Learn

  • Course
  • Mock tests
  • Function guides
  • Blog

Test prep

  • Excel level test
  • Excel test practice
  • Free screening quiz
  • Certificate

Company

  • Editorial policy
  • Contact
  • Terms
  • Privacy

© 2026 ExcelReady. All rights reserved.

  1. Blog
  2. Dynamic arrays
  3. FILTER With Multiple Criteria: AND and OR

FILTER With Multiple Criteria: AND and OR

By ExcelReady Team·Updated November 1, 2026·6 min read

The short answer

To use the FILTER function with multiple criteria, put each condition in brackets and combine them. Multiply for AND: =FILTER(A2:D8,(B2:B8="East")*(C2:C8="Laptop")). Add for OR: =FILTER(A2:D8,(B2:B8="East")+(B2:B8="West")). Mix them with extra brackets. Don't use the AND and OR functions inside FILTER, because they return one result, not one per row.

Key takeaways

  • Wrap each condition in brackets: (B2:B8="East").
  • Multiply conditions for AND: both must be TRUE. Add them for OR: at least one must be TRUE.
  • Mix them with brackets: (C2:C8="Laptop")*((B2:B8="East")+(B2:B8="West")).
  • The AND and OR functions don't work inside FILTER, because they return a single TRUE or FALSE.
  • FILTER needs Excel 2021, Excel 2024 or Microsoft 365.
On this page+
  1. How does FILTER combine multiple criteria?
  2. How to filter with AND (all conditions true)
  3. How to filter with OR (any condition true)
  4. How to mix AND and OR in one FILTER
  5. How to use criteria from cells
  6. Why don't AND() and OR() work inside FILTER?
  7. Common problems with multiple criteria
  8. Practise it

The FILTER function handles multiple criteria with simple maths: multiply conditions when all of them must be true, and add them when any one can be true. =FILTER(A2:D8,(B2:B8="East")*(C2:C8="Laptop")) returns East laptop sales only. This guide shows AND, OR, a mix of both, criteria from cells, and why the AND and OR functions don't work here.

How does FILTER combine multiple criteria?#

FILTER keeps the rows where its include argument is TRUE, or any number other than 0. Each condition, such as B2:B8="East", gives a list of TRUE and FALSE values, one per row. When you multiply or add those lists, Excel turns TRUE into 1 and FALSE into 0:

Condition 1Condition 2Multiply (AND)Add (OR)
TRUE (1)TRUE (1)1, kept2, kept
TRUE (1)FALSE (0)0, dropped1, kept
FALSE (0)TRUE (1)0, dropped1, kept
FALSE (0)FALSE (0)0, dropped0, dropped

Multiplying gives 1 only when both are TRUE, which is AND. Adding gives at least 1 when either is TRUE, which is OR. That's the whole trick.

FILTER needs Excel 2021, Excel 2024 or Microsoft 365. Its results spill into the cells below and to the right, so leave them empty. If you're new to FILTER, start with the guide to the FILTER function.

All examples use this sales table in A1:D8:

ABCD
1RepRegionProductSales
2AnaEastLaptop1200
3BenWestMonitor450
4CaraEastMonitor300
5DanNorthLaptop900
6EliWestLaptop1500
7FayEastLaptop700
8GusNorthMonitor650

How to filter with AND (all conditions true)#

Multiply the conditions, each in its own brackets. To return East rows that sold laptops:

Excel formula
=FILTER(A2:D8,(B2:B8="East")*(C2:C8="Laptop"))

The result is two rows: Ana and Fay. Cara is East but sold monitors, so she's dropped.

AND works well for number ranges too. To find sales between 500 and 1,000:

Excel formula
=FILTER(A2:D8,(D2:D8>=500)*(D2:D8<=1000))

This returns Dan (900), Fay (700) and Gus (650). You can multiply as many conditions as you need. Each one must be TRUE for the row to stay.

How to filter with OR (any condition true)#

Add the conditions with a plus sign. To return every row in the North or West region:

Excel formula
=FILTER(A2:D8,(B2:B8="North")+(B2:B8="West"))

The result is Ben, Dan, Eli and Gus. OR can also test different columns. =FILTER(A2:D8,(B2:B8="North")+(D2:D8>=1200)) keeps rows that are in the North or have sales of 1,200 or more: Ana, Dan, Eli and Gus.

When both conditions are true, the sum is 2. FILTER treats any non-zero number as TRUE, so the row appears once, not twice.

How to mix AND and OR in one FILTER#

Group the OR part in an extra set of brackets, then multiply it by the AND part. To find laptop sales in the East or West:

Excel formula
=FILTER(A2:D8,(C2:C8="Laptop")*((B2:B8="East")+(B2:B8="West")))

The result is Ana, Eli and Fay. Dan sold a laptop, but in the North, so he's left out.

The brackets work like they do in maths. Without the extra pair, Excel multiplies first and then adds, which gives "East laptops, plus everything in the West". That would wrongly include Ben's monitor sale. The guide to AND, OR and NOT in Excel explains this logic in normal formulas.

How to use criteria from cells#

Replace the typed values with cell references, so anyone can change the filter without editing the formula. If G2 holds a region and H2 a minimum sales amount:

Excel formula
=FILTER(A2:D8,(B2:B8=G2)*(D2:D8>=H2),"No matches")

With East in G2 and 1000 in H2, the result is Ana's row. Change G2 to West and you get Eli instead. A drop-down list in G2 turns this into a simple report tool.

The third argument, "No matches", is what FILTER shows when nothing passes. Without it, an empty result returns #CALC!.

For date conditions such as "this month" or "between two dates", the same multiply pattern applies. See how to filter by date. For partial text matches, like every product containing "lap", see filtering rows that contain text.

Why don't AND() and OR() work inside FILTER?#

The AND and OR functions return a single answer for everything you give them. AND(B2:B8="East",C2:C8="Laptop") checks all 14 values at once and returns one FALSE, because not every value is TRUE. FILTER needs one answer per row, so it returns an error instead of the rows you want.

Multiplication and addition work row by row, which is why they're used instead. Remember it as: * means AND, + means OR. This is the most common mistake people make with FILTER and multiple criteria.

Common problems with multiple criteria#

Most problems come from brackets, ranges or the spill area. Check these:

  1. Missing brackets. B2:B8="East"*C2:C8="Laptop" is read in the wrong order. Wrap each test: (B2:B8="East")*(C2:C8="Laptop").
  2. Ranges of different sizes. Every condition must cover the same rows as the array, or FILTER returns #VALUE!.
  3. #SPILL! Something is in the way of the results. Clear the cells below and to the right.
  4. #CALC! No rows matched. Add a third argument like "No matches".
  5. Numbers stored as text. A test like D2:D8>=500 skips text numbers. Convert them first.

To add up the filtered rows instead of listing them, wrap FILTER in SUM; the guide to FILTER and SUM together shows how. To return several matches for one lookup value, see looking up multiple values.

Practise it#

FILTER with several conditions is a favourite in data analyst and advanced Excel tests. Practise the FILTER function in a live spreadsheet, then practise AND, OR and NOT to make the logic second nature. Each formula is checked instantly. The FILTER function guide is a quick syntax reference, and the data analyst Excel test lets you try FILTER under time pressure.

Try it yourself

This is a live spreadsheet. Type the formula in the green cell and press Enter.

List the reps who sell in the North or West region. Click F2 and use FILTER on A2:A8, adding the two region tests on B2:B8 with +.

fx
ABCDEFG
1
Rep
Region
Product
Sales
2
Ana
East
Laptop
1200
3
Ben
West
Monitor
450
4
Cara
East
Monitor
300
5
Dan
North
Laptop
900
6
Eli
West
Laptop
1500
7
Fay
East
Laptop
700
8
Gus
North
Monitor
650
9
10
11

Tip: Each test goes in its own brackets. A plus sign between them means OR.

Practise this in a lesson

LessonFILTER: pull matching rows with a formulaReturn every row that meets one or more conditions with FILTER, and show a friendly message when nothing matches.LessonAND, OR and NOTCheck several conditions at once with AND and OR, flip a result with NOT, and combine them inside IF.Function guideFILTERReturn every row that matches a condition with Excel's FILTER. Multiple criteria, empty results and #SPILL! explained, with live practice.

Frequently asked questions

How do I use FILTER with multiple criteria in Excel?

+

Put each condition in brackets and multiply them for AND, as in =FILTER(A2:D8,(B2:B8="East")*(D2:D8>500)). Add them instead for OR.

How do I use OR in the FILTER function?

+

Add the conditions with a plus sign: =FILTER(A2:D8,(B2:B8="East")+(B2:B8="West")). A row is kept if at least one condition is TRUE.

Why doesn't AND work inside FILTER?

+

The AND function checks every value at once and returns a single TRUE or FALSE for the whole range. FILTER needs one TRUE or FALSE per row, which multiplication gives you.

How do I show a message when FILTER finds nothing?

+

Use the third argument: =FILTER(A2:D8,(B2:B8="East")*(C2:C8="Tablet"),"No matches"). Without it, FILTER returns #CALC! when no rows match.

Can FILTER use criteria from cells?

+

Yes. Replace the typed values with cell references, such as =FILTER(A2:D8,(B2:B8=G2)*(D2:D8>=H2)). Change G2 or H2 and the results update.

Sources

  • FILTER function - Microsoft Support
  • Dynamic array formulas and spilled array behavior - Microsoft Support
  • AND function - Microsoft Support

Written and checked by the ExcelReady Team. First published November 1, 2026. The practice exercise runs in the same formula engine as our lessons. Found a mistake? Read our editorial policy or email hello@excelready.app.

On this page

  1. How does FILTER combine multiple criteria?
  2. How to filter with AND (all conditions true)
  3. How to filter with OR (any condition true)
  4. How to mix AND and OR in one FILTER
  5. How to use criteria from cells
  6. Why don't AND() and OR() work inside FILTER?
  7. Common problems with multiple criteria
  8. Practise it

Keep reading

Dynamic arrays· 6 min read

The FILTER Function in Excel (With AND and OR)

FILTER returns every row of a range that passes a test: =FILTER(A2:C9,B2:B9="East"). The matching rows spill into the cells below and update when the data changes. For AND, multiply tests in brackets; for OR, add them. The third argument shows a message when nothing matches. FILTER needs Excel 2021, Excel 2024 or Microsoft 365.

Dynamic arrays· 6 min read

Sum, Count or Average FILTER Results in Excel

To sum FILTER results in Excel, put FILTER inside SUM: =SUM(FILTER(D2:D9,B2:B9="East")) adds the sales of East rows only. Swap SUM for COUNT, AVERAGE or MAX for other answers. Add 0 as FILTER's third argument so no matches return 0 instead of #CALC!. To total rows left visible by the filter buttons, use =SUBTOTAL(109,D2:D9).

Dynamic arrays· 6 min read

FILTER by Date in Excel: Month, Range or Recent

To filter by date in Excel with a formula, give FILTER two date tests multiplied together. For March 2024: =FILTER(A2:C9,(A2:A9>=DATE(2024,3,1))*(A2:A9<=DATE(2024,3,31))). Put the start and end dates in cells to change the range without editing the formula. For recent rows, use A2:A9>=TODAY()-30. FILTER needs Excel 2021, Excel 2024 or Microsoft 365.

Don't just read about Excel. Do it.

Practise real formulas in a live spreadsheet with instant feedback, right in your browser. Nothing to download.

Start learning for free