2013-06-01 122 views
1

所以我必须参加的一个excel数据集有可能符合资格的包括他们的姓名,年龄,电话号码等的研究,参加...这样的:过滤数据集的值在一列

名称|年龄|电话|电子邮件|地址|参加的研究

我也有一列有资格参加新研究的参与者姓名;它是名称列中数据的子集。

我需要做的是选择名称在子集列中的所有参与者,并将所有列中的所有信息复制并粘贴到新列中。我试过类似的东西,选择一个空列并使用= IF($ Name-column = $ Subset-column,First-Column:Last-Column,“”)但是这只会检查每个单元格中的名称名称列的名称与子集列中的名称相匹配。我需要的是检查名称列中的任何名称是否与子集列中的名称匹配,并且如果他们这样做,则将该行复制到新的工作表中。

回答

1

使用VLOOKUP应该可以做到。

在旁边的名称表一个空列,你想输入一组公式是这样的:

=IFERROR(VLOOKUP(<name_from_current_row_of_name_table>,<subset_column_range>,1,FALSE),0) 

那么你可以申请一个过滤器的名称表,并设置一个条件排除新列中的0。将过滤的数据复制到新工作表。

1

您可以将Index的所有数据,然后Match行到子集名称并拉到每列。

例如,它会是这个样子:

=INDEX(All!A1:F4,MATCH(Subset!A2,All!A1:A4,0),2) 

让我们打破这:

的指数函数采用下列参数:

Index(Array, Row_Number, Column_Number) 

阵列将被全部你有的数据,行号我们将使用一个匹配函数(下面)来找到哪一行来获取数据,而列号表示索引中哪一列拉取信息fr om(我们将继续增加它以获得所有列)。

要返回正确的行,我们将使用比赛

Match(Lookup_Value, Lookup_Array, Match_Type) 

对于查找值,我们想将它指向子集合表的当前行,查找阵列将可以从所有的名字该指数我们在主列表中预先定义的,并且匹配类型将等于0(完全匹配)

在这个excel document

+0

谢谢你看看!我认为这会起作用。我收到一个目录弹出窗口,指出它“找不到'ALL',请选择”。那么,我把它放在一个空的柱子里,拉过这些细胞吗?我是否包含全部!和子集!等式中的部分? – Kyle

+0

您可以使用我的电子表格作为示例,但“全部”只是指包含所有数据的选项卡名称。你需要用自己的名字和地区来替换这些东西。 – KyleMit