Contextures

Excel Advanced Filter Introduction

Use an Advanced Filter in Excel to create a list of unique items, or to extract specific items to a different worksheet. You can also use complex criteria with an Advanced Filter, so it is useful when a simple AutoFilter can't do what you need.

Create an Excel Advanced Filter

Watch this video to see the steps for setting up your criteria range, and running an Advanced Filter. The written instructions are below the video.

Create an Excel Advanced Filter

Here are the steps for setting up your data, and creating an Advanced Filter.

-- Set up the database

-- Set up the Criteria Range (optional)

-- Set up the Extract Range (optional)

-- Apply the Excel Advanced Filter

1. Set up the database

  1. The first row (A1:D1) has headings. Each column must have a unique heading -- duplicate headings will cause problems when running an Advanced Filter.
  2. Subsequent rows contain data.
  3. There are no blank rows within the database.
  4. There is a blank row at the end of the database, and a blank column at the right. go to top

Database

2. Set up the Criteria Range (optional)

In the criteria range for an Excel advanced filter, you can set the rules for the data that should remain visible after the filter is applied. You can use one criterion, or several.

WARNING: When you use text criteria, Excel interprets it as "begins with". If you need an exact match, see the Exact Match example below.

  1. In this example, cells F1:F2 are the criteria range.
  2. The heading in F1 exactly matches a heading (D1) in the database.
  3. Cell F2 contains the criterion. The > (greater than) operator is used, with the number 500 (no $ sign is included).

Criteria Range

After the Excel advanced filter is applied, orders with a total greater than $500 will remain visible.

Other operators include:

  • <    less than
  • <= less than or equal to
  • >= greater than or equal to
  • <> not equal to go to top

3. Set up the Extract Range (optional)

If you plan to copy the data to another location (on the same sheet, or a different worksheet), you can specify the columns that you want to extract.

NOTE: If you want to extract ALL columns, you can leave the extract range empty for the Excel advanced filter.

  1. Select the cell at the top left of the range for the extracted data.
  2. Type the headings for the columns that you want to extract.
    1. These must be an exact match for the column headings in the data, in spelling and punctuation
    2. Column order can be different
    3. Any or all of columns can be included. go to top

Criteria Range

4. Apply the Excel Advanced Filter

Follow these steps to apply the Advanced Filter

NOTE: If you want to send the data to a different sheet, follow the steps here: Send Data to Another Sheet

  1. Select a cell in the database.
  2. On the Excel Ribbon's Data tab, click Advanced, to open the Advanced Filter dialog box
  3. Criteria Range

  1. You can choose to filter the list in place, or copy the results to another location.
  2. Excel should automatically detect the list range. If not, you can select the cells on the worksheet.
  3. Select the criteria range on the worksheet
  4. If you are copying to a new location, select a starting cell for the copy
    • Note: If you copy to another location, all cells below the extract range will be cleared when the Advanced Filter is applied.
  5. Click OK

Apply Filter

Filter Unique Records

With an Excel Advanced Filter, you can filter the data in place, or to a different location. When applying the advanced filter, you can specify that you want to see unique items only. With that option selected, all the duplicates are removed from the filtered list.

The written instructions for this technique are below the video.

Filter Unique Records

You can use an Excel Advanced Filter to extract a list of unique items in the database. For example, get a list of customers from an order list, or compile a list of products sold. In this example, the unique list is copied to a different location, and the original list in unchanged.

Note: The list must contain a heading, or the first item may be duplicated in the results.

  1. Select a cell in the database.
  2. On the Excel Ribbon's Data tab, click Advanced.
  3. In the Advanced Filter dialog box, choose 'Copy to another location'.
  4. For the List range, select the column(s) from which you want to extract the unique values.
  5. Leave the Criteria Range blank.
  6. Select a starting cell for the Copy to location.
  7. Add a check mark to the Unique records only box.
  8. Click OK.

Video: Remove Duplicates

In Excel 2007, and later versions, there is a Remove Duplicates tool. Unlike the Advanced Filter's Unique Records Only option, this does not leave the original list unchanged -- it completely removes all duplicate items from the list. Only the first instance of each item is left.

You can download the sample file that was used in this video.

Extract Data to Another Worksheet

With an advanced filter, you can extract data to a different sheet. Watch this video to see the steps, and the written instructions are below the video.

Extract Data to Another Worksheet

If your Excel data is on one sheet, you can extract data to a different sheet, by using an Advanced Filter. In this example, the data is on Sheet1, and will be copied to Sheet2.

  1. Go to Sheet2 (see the steps on the video above)
  2. Select a cell in an unused part of the sheet (cell C4 in this example).
  3. On the Excel Ribbon's Data tab, click Advanced
  4. Choose Copy to another location.
  5. Click in the List Range box
  6. Select Sheet1, and select the database.
  7. (optional) Click in the Criteria range box.
  8. Select the criteria range
  9. Click in the Copy to box.
  10. Select the cell on Sheet2 in which you want the results to start, or select the headings that you have typed on Sheet2.
  11. (optional) Check the box for Unique Values Only
  12. Click OK go to top

Extract Data to Another Sheet

Setting up the Criteria Range

These examples show how to set up criteria ranges for one criterion, or multiple criteria, using text, numbers, and wildcards. You can also use formulas in the criteria range -- see examples on this page: Advanced Filters -- Complex Criteria

WARNING: When you enter text criteria, Excel interprets it as "begins with". If you need an exact match, see the Exact Match example below.

Criteria Range Location

The examples on this page show the criteria range near the data, but that isn't required.

  • The criteria range can be on the same sheet as the data, or on a different sheet.
  • The criteria range can be directly above the data, or in columns to the left or right of the data.

NOTE:

If the criteria range is on the same sheet, and in the same rows as the data, the criteria cells might be hidden when you apply an "In Place" advanced filter in.

That will not affect the advanced filter -- you just won't be able to see some of the criteria range.

AND vs OR

If a record meets all criteria on one row in the criteria area, it will pass through the Excel advanced filter.

AND Rule

In this example, there is a single row of criteria rules:

advanced filter AND criteria

  • customer name must begin with "MegaMart"
  • AND product name must begin with "Cookies"
  • AND total must be greater than 500

OR Rules

In this example, there are 3 rows with criteria rules.

advanced filter OR

Criteria on different rows are joined with an OR operator. In the second example --

  • customer name must begin with "MegaMart"
  • OR product name must begin with "Cookies"
  • OR total must be greater than 500.

AND/OR Rules

By using multiple rows, you can combine the AND and OR operators, as in this example:

advanced filter AND OR

  • customer name must begin with "MegaMart" AND product name must begin with "Cookies"
    • OR
  • product name must begin with "Cookies" AND total must be greater than 500.

Using Wildcards in Criteria

Use wildcard characters to filter for a text string in a cell.

-- The * Wildcard

-- The ? wildcard

-- The ~ wildcard

The * wildcard

The asterisk (*) wildcard character represents any number of characters in that position, including zero characters.

NOTE: Because Excel interprets text criteria as "begins with", you don't need to add the * wildcard at the end of the string

In this example, the Customer criterion is: *o*r

Two customer names, FoodMart and Mart-o-rama, contain an "o", followed by an "r" anywhere after the "o". The records for those two customers appear in the filtered list.

advanced filter wildcard asterisk

The ? wildcard

The question mark (?) wildcard character represents one characters in that position.

In this example any product name that begins with c, followed by any single character, and then ke, will pass through the Excel advanced filter. Both Coke and Cake are in the filtered results.

advanced filter wildcard question mark

The ~ wildcard

The tilde (~) wildcard character lets you search for characters that are used as wildcards.

In the first example, an asterisk is in the criteria cell -- Good*Eats -- so any customer name that begin with Good, then any characters, followed by Eats, will pass through the Excel advanced filter.

advanced filter with wildcard asterisk

To find only the customer name that begins with Good*Eats, use a tilde character (~) in front of the asterisk in the critereia cell: Good~*Eats

advanced filter tilde

Criteria Examples

Here are a couple of other Advance Filter criteria examples:

-- Extract Items in a Range

-- Extract Items with Specific Text

NOTE: There are more criteria examples on this page: Advanced Filters -- Complex Criteria

Extract Items in a Range

To extract a list of items in a range, you can use two columns for one of the fields. In this example, two columns are used for the Total field.

If you enter two criteria on the same row in the criteria range, you create an AND statement. In this example, any records that are extracted must be:

  • greater than or equal to 500
    • AND
  • less than or equal to 750

Extract Items

Extract Items with Specific Text

When you use text as criteria with an Excel advanced filter, Excel finds all items that begin with that text.

For example, if you type "Ice" as a criterion, Excel finds "Ice", "Ice Cream" and "Ice Milk", because they all begin with "Ice".

exact match for ice

To extract only the records that are an exact match for the criteria text, use the following format in the critera range (upper or lower case won't affect the results):
      ="=ice"

Multiple Conditions

Where Should Criteria Range Be?

Some Excel lessons insist that you should put the criteria range directly above the data. This is not necessary -- use the location that works best for you.

The examples on this page show the criteria range near the data, but you don't need to leave it there.

  • The criteria range can be on the same sheet as the data, or on a different sheet.
  • The criteria range can be directly above the data, or in columns to the left or right of the data.

Note

If the criteria range is on the same sheet, and in the same rows as the data, the criteria cells might be hidden when you apply an "In Place" advanced filter in.

The hidden criteria rows will not affect the advanced filter -- you just won't be able to see some of the criteria range.

Get the Sample Workbook

Download zipped Excel advanced filter workbook with sample data and criteria.

For Excel 2003 instructions, see Excel 2003 Advanced Filter Introduction

More Tutorials

Advanced Filters -- Complex Criteria

Advanced Filter Criteria Slicers

Advanced Filter Macros

 

Last updated: August 1, 2021 3:26 PM