Extract Filtered Data in Excel to Another Sheet: 4 Methods

Method 1 – Extract Filtered Data to Another Sheet Using Copy-Paste Method in Excel

If you don’t need to perform additional table transformations after extracting data in Excel to another sheet, you can use the Copy-Paste method for that. Follow these steps.

❶ Select the whole dataset and press CTRL + SHIFT + L to apply Filter.

:Apply Filter: Extract Filtered Data to Another Sheet Using Copy-Paste Method in Excel

❷ Click on a drop-down icon at the bottom-right corner of the column headers.

Pick an item from the list. Let’s go with Wafer for now.

❹ Hit the OK button.

This will present only the filtered data based on the criteria and other rows will be hidden.

❺ Press CTRL + C to Copy them all into the clipboard.

Copy: Extract Filtered Data to Another Sheet Using Copy-Paste Method in Excel

❻ Open a different worksheet in Excel, then press CTRL + V to Paste the selection.

Paste: Extract Filtered Data to Another Sheet Using Copy-Paste Method in Excel

Read More: How to Get Data from Another Sheet Based on Cell Value in Excel


Method 2 – Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

The Advanced Filter allows you to use a smaller table to filter by and fill it in. Here’s how:

❶ Select the whole dataset and press CTRL + SHIFT + L to apply Filter.

Apply Filter: Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

❷ Go to the destination worksheet and input your criteria columns or rows. Now go to Data >> Sort & Filter >> Advanced.

The Advanced Filter dialog box will appear.

❸ Choose Copy to another location under the Action section. Click on the up arrow icon next to the List range bar.

Advanced Filter: Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

❹ Go back to the worksheet with the original dataset and select the entire dataset. Then, click on the down arrow icon from the Advanced Filter – List range dialog box to go back to the Advanced Filter menu.

❺ Click on the up arrow icon next to the Criteria range bar.

Criteria Range: Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

❻ Select the cell range with the criteria and click on the down arrow icon from the Advanced Filter – Criteria range dialog box.

❼ Finally click on the up arrow icon at the end of the Copy to bar.

Copy to Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

❽ Select a cell on the destination worksheet to store the filtered data then click on the down arrow icon from the Advanced Filter – Copy to: dialog box.

❾ Make sure everything is filled in the Advanced Filter dialog box and hit the OK button.

After that, the filtered data will be extracted to the destination worksheet.

Extract Filtered Data to Another Sheet in Excel Using Advanced Filter

Read More: How to Pull Data from Multiple Worksheets in Excel


Method 3 – Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

If you want to extract the filtered data to another sheet and create a dynamic link between them then you can use Power Query.

To do that follow the steps below.

❶ Start by selecting the whole dataset and go to the name box to give the array a name such as Data.

Name Box: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

Select the whole data table again and press CTRL + T to convert the dataset into an Excel table. The Create Table dialog box will appear. Just click OK on it.

Apply Table: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

❸ Now go to Data >> Get Data >> From Other Sources >> From Microsoft Query.

Microsoft Query: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

Choose Data Source dialog box will appear.

❹ Select Excel Files and hit OK.

Choose Data Source: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

The Select Workbook dialog box will appear.

❺ Select your Excel worksheet name under the Database Name section and hit OK.

Select Workbook: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

The Query Wizard –  Choose Columns dialog box will appear.

Click on the name and data that you have created previously. This will show all the column names of your dataset.

Query Wizard: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

Double click on the column names under the Data in the Available tables and columns section. Those column names will appear in the Columns in your query box. After that hit the Next button to proceed.

❼ Select a column name from the Column to filter box. Then choose equals from the Only include rows where drop-down. Then from the next drop-down choose an entity to use for comparison, such as Pasta for Category.

❽ In the next dialog box called Query Wizard – Sort Order, select a column name from the Sort by drop-down. Then choose either Ascending or Descending. After that, you can click on the Next button.

❾ Choose Return Data to Microsoft Excel option from the Query Wizard – Finish dialog box and hit the Finish button.

After that, the Import Data dialog box will appear.

❿ Choose the New worksheet option and hit OK.

Import Data: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

Finally, you will get the filtered data extracted in a new worksheet like this.

Output: Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query

Read More: How to Pull Values from Another Worksheet in Excel


Method 4 – Use VBA Script to Extract Filtered Data to Another Sheet in Excel

To use a VBA code to extract filtered data to another sheet in Excel, go through the following steps.

❶ Press ALT + F11 to open the VBA editor.

❷ Go to Insert > Module.

Add new module to Use VBA Script to Extract Filtered Data to Another Sheet in Excel

Copy and paste the following VBA code:

Sub ExtractionToAnotherSheet()

    Dim xStr1 As String
    Dim xAddress1 As String
    Dim xRg1 As Range
    Dim xCRg1 As Range
    Dim xSRg1 As Range

    On Error Resume Next
    xAddress1 = ActiveWindow.RangeSelection.Address
    Set xRg1 = Application.InputBox("Insert the range of filter area:", "Microsoft Excel", xAddress, , , , , 8)
    If xRg1 Is Nothing Then Exit Sub
    Set xCRg1 = Application.InputBox("Insert the range of criteria :", "Microsoft Excel", "", , , , , 8)
    If xCRg1 Is Nothing Then Exit Sub
    Set xSRg1 = Application.InputBox("Insert the range of output:", "Microsoft Excel", "", , , , , 8)
    If xSRg1 Is Nothing Then Exit Sub

    xRg1.AdvancedFilter xlFilterCopy, xCRg1, xSRg1, False
    xSRg1.Worksheet.Activate
    xSRg1.Worksheet.Columns.AutoFit

End Sub

Breakdown of the VBA Code

  • The code needs to declare the 5 variables necessary to get the proper information.
  • Then, the InputBox asks for 3 different ranges. These are filter area range, criteria range, and output range.
  • To pick those ranges, we used the RangeSelection.
  • For applying the Filter we used the VBA AdvancedFilter method, then used AutoFit method to AutoFit columns after the Filter is applied.
  • The Exit Sub command exits the code if the ranges aren’t properly supplied.

Paste and Save the VBA code in the VBA editor.

Use VBA Script to Extract Filtered Data to Another Sheet in Excel

❺ Go back to the worksheet and press ALT + F8 to call up the Macro dialog box. Then hit the Run button.

Macro: Use VBA Script to Extract Filtered Data to Another Sheet in Excel

A small Input Box will appear.

Insert the range of the filter area into that input box.

❼ Here, I selected the range B4:E12. Then click OK.

Another Input Box will appear.

Insert the cell range of the criteria into that input box and hit OK.

❾ Then in the last Input Box, insert the destination cell ranges from a different worksheet. Then click OK.

After that, you will get the filtered data in your preferred cell range in the second worksheet.

Read More: How to Pull Data From Another Sheet Based on Criteria in Excel


Practice Section

Here’s a basic worksheet that details foodstuff categories in store and their prices, which you can download below. The instructional steps above used the “Category” as the filter, so try to use a different column such as quantity or price to create new tables using the more advanced methods.


Download Practice Workbook

You can download the Excel file from the following link and practice along with it.


 


Related Articles

<< Go Back To Extract Data Excel | Learn Excel

Get FREE Advanced Excel Exercises with Solutions!
Mrinmoy Roy
Mrinmoy Roy

Mrinmoy Roy, a dedicated professional with a BSc in Electronics and Communication Engineering from Khulna University of Engineering & Technology, Bangladesh, brings over two years of expertise to the ExcelDemy project. As a prolific contributor, he has authored around 180 articles, showcasing his deep knowledge and passion for Microsoft Excel, Data Analysis, and VBA. His unwavering commitment to continuous learning, combined with versatile skills, renders him well-suited for roles in data management and spreadsheet solutions. He has interest... Read Full Bio

2 Comments
  1. Hi there,

    I really like your third example above, “3. Dynamically Extract Filtered Data to Another Sheet in Excel Using Power Query”. However, I’m using Office 2019, and the option, ” Data >> Get Data >> From Other Sources >> From Microsoft Query.” doesn’t appear there. Has it moved and is it available somewhere else? Or is there a different way to do this within Power Query?

    • Hello Chris,
      Thank you for your comment.
      The option, “Data >> Get Data >> From Other Sources >> From Microsoft Query” should be available in Excel 2019 since Power Query is available in Excel 2019.
      However, since you are unable to find the option, I would suggest you to install a new version of Excel. I hope your problem will be solved now.

      Best,
      Afia Aziz Kona

Leave a reply

Advanced Excel Exercises with Solutions PDF

 

 

ExcelDemy
Logo