如何使用 Excel 筛选功能筛选出与我的姓名列表匹配的所有项目

如何使用 Excel 筛选功能筛选出与我的姓名列表匹配的所有项目

我有一长串的公司名称,我想尝试使用FilterExcel365 中的功能来筛选仅出现在列表中的名称。

=FILTER(MasterSheet!$C:$D,MATCH(Sheet1!$H$5:$H$7,MasterSheet!$C:$C,0))

我在这里尝试了上述方法。MasterSheet包含所有名称,并且我的范围 H5-H7 包含我想要过滤的名称列表

答案1

假设您的主要数据在这个范围内:

$A$2:$M$2000

A列是公司名称。

并且您在 Sheet2 中有一个要筛选的 30 家公司列表,例如 $A$2:$A$30。

因此,您可以在主表的第 N 列中向数据添加一个新列,其公式如下:

=XLOOKUP($A2,Sheet2!$A$2:$A$30,Sheet2!$A$2:$A$30,"")<>""

此 XLOOKUP 将获取主表 A 列中的公司名称,并在 30 家公司的列表中查找它。如果找到,它将返回公司名称,否则将返回空字符串(空白)。然后我们测试返回值是否不为空。如果不是空白,则它在 30 家公司的列表中找到了名称,并且公式返回 TRUE。您现在可以在 N=TRUE 列上筛选主表。

答案2

将 MATCH 包装在 ISNUMBER 中,并且第一个条件必须与过滤区域具有相同的行数:

=FILTER(MasterSheet!$C:$D,ISNUMBER(MATCH(MasterSheet!$C:$C,Sheet1!$H$5:$H$7,0)))

需要注意的是,尽管这可行,但将行数限制为数据集最大的行数被认为是更好的做法,即:

=FILTER(MasterSheet!$C$1:$D$10000,ISNUMBER(MATCH(MasterSheet!$C$1:$C$10000,Sheet1!$H$5:$H$7,0)))

请记住,这些是数组类型公式,范围越大,必须执行的计算就越多。

相关内容