Solved

Excel 2010 Filtering Rows Based on Match List

Posted on 2014-04-09
3
40,278 Views
Last Modified: 2014-04-23
I have an Excel Workbook that contains 2 sheets.

Sheet1 contains 93 columns and 50,000 rows.

Sheet2 contains a single column (Names), with 2000 rows.

I want to filter the rows in Sheet1, by the Name column, based on the Names that are located in Sheet 2.

I would like to have Sheet1 filtered, so it contains all 93 columns of data, based on the 2000 names I have in Sheet2.

I've tried the Advanced filter in place, however this was unsuccessful.

My excel skill level is intermediate.  I appreciate any help.

As some background information: Sheet 1 is an Outlook contacts list. Sheet 2 is a list of names that are located on Sheet1. I wish to have the sheet filtered to get all the values on Sheet 1, so I have 2000 rows of names and 93 columns.

Thanks.
0
Comment
Question by:fireguy1125
3 Comments
 
LVL 49

Expert Comment

by:Rgonzo1971
ID: 39990739
HI,

Could you send a dummy example?

Regards
0
 
LVL 27

Accepted Solution

by:
MacroShadow earned 250 total points
ID: 39990780
1. Select the range of names on sheet 2 and name it "NamedList" (without the quotes) by entering the name in the Name box on the left side of the Formula Bar.
2. On sheet 1, in the first column to right of your data (CP), enter in row 2 (leaving row 1 blank):
 =COUNTIF(NamedList, A2)

Open in new window

3.  Select cell A2 (on sheet 1), and choose Data/Advanced Filter. In the dialog, select the "Filter the list, in place" radio button.
4. Verify the List Range contains the range of your data.
5. In the Criteria Range box, enter CP1:CP2 (make sure you include row 1)
6. Click OK

Note: This example assumes that your data has a header row.
0
 
LVL 32

Assisted Solution

by:Rob Henson
Rob Henson earned 250 total points
ID: 39999759
You could implement an INDEX formula alongside your 2000 names in sheet2.

Insert a row above your 2000 names and copy and paste the headers from the source sheet and move your 2000 names to the correct column, for this purpose I will assume that the name is column A.

For the other columns use the following formula:

=INDEX(Sheet1!$A$1:$CO$50000,MATCH($A2,Sheet1!$A$1:$A$50000,0),MATCH(B$1,Sheet1!$A$1:$CO$1,0))

This says, look at the range Sheet2!A1:CO50000 (CO = column 93) and in column A of that range find the match for the value in column A of sheet 2 to determine the row to use for the result. Then look at the header in row 1 and find the column for the header in sheet1. Thuis creating an intersect of row and column based on the name in column A.

The sections refrring to column A that are bold and underlined, should be adjusted to reflect your data and adjust the 50000 to reflect the actual number of rows.

Thanks
Rob H
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate in Microsoft Excel how to add style and sexy appeal to horizontal bar charts.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question