Excel包含具有2个以上值的过滤器

时间:2013-06-26 14:38:04

标签: excel excel-vba excel-formula excel-vba-mac vba

有谁知道如何快速隐藏/删除sheet1中包含来自sheet2的任何行信息的所有行?

它需要包含过滤器,因为它不是完全匹配。

例如

Sheet 1中:

http://www.google.com/something/else
http://www.yahoo.com/whatever
www.microsoft.com/hahha

Sheet 2中:

google.com

因此最终结果将是Sheet1中的第一行被隐藏

在实践中,我正在使用Sheet1中的数千行和Sheet2中的数据。

为了澄清,我实际上是在尝试使用超过2个值的包含过滤器 - 默认过滤器只允许2个值。

此外,我正在使用Excel for Mac 2011.

2 个答案:

答案 0 :(得分:4)

您可以使用简单的辅助列快速完成此操作,而无需大范围循环。

为简单起见,作为样本:

  • 假设您的工作表1列表位于A1:A1000
  • 您的工作表2部分列表位于C1:C5(位于下图中的同一张纸上)
  • 然后在范围B1:B1000中输入此数组公式, =MAX(IF(ISERROR(FIND($C$1:$C$5,A1)),0,1))=1

(按 Ctrl + Shift + Enter 作为数组公式输入)

  • 然后自动筛选TRUE行(标记任何匹配项)并隐藏它们

enter image description here

答案 1 :(得分:2)

当我阅读@brettdj发布的解决方案时,我认为它应该适用于您的问题。

在您的评论中,使用他的解决方案时似乎有一个空单元格问题。您确定使用正确的值替换了$C$1 : $c$5吗?

在您的情况下,您应首先参考右侧工作表(Sheet2,如果您没有重命名),然后是右侧列(假设您在工作表2的A列中有它)。

你应该写=MAX(IF(ISERROR(FIND(sheet2!$A$1:$A$5,sheet1!A1)),0,1))=1