如果列包含带有通配符的to-remove-list中的值,则删除行

时间:2014-11-18 21:56:38

标签: excel

如何制作通配符,以便找到不完全匹配的内容?我已经尝试取出1,并在A1(查找值)之后添加&“*”。

换句话说,如果我在黑名单中有应用,如何将其与 apple 匹配,以便返回“删除”?

Given sheet 2:

ColumnA
-------
apple
orange

您可以在工作表1中标记工作表2中存在值的行:

ColumnA  ColumnB
-------  --------------
pear     =IF(ISERROR(VLOOKUP(A1,Sheet2!A:A,1,FALSE)),"Keep","Delete")
apple    =IF(ISERROR(VLOOKUP(A2,Sheet2!A:A,1,FALSE)),"Keep","Delete")
cherry   =IF(ISERROR(VLOOKUP(A3,Sheet2!A:A,1,FALSE)),"Keep","Delete")
orange   =IF(ISERROR(VLOOKUP(A4,Sheet2!A:A,1,FALSE)),"Keep","Delete")
plum     =IF(ISERROR(VLOOKUP(A5,Sheet2!A:A,1,FALSE)),"Keep","Delete")

结果数据如下所示:

ColumnA  ColumnB
-------  --------------
pear     Keep
apple    Delete
cherry   Keep
orange   Delete
plum     Keep

2 个答案:

答案 0 :(得分:0)

使用 SEARCH功能,但您需要将其输入为数组公式
类似的东西:

=IF(SUM(IFERROR(SEARCH(Sheet2!A$1:A$2,Sheet1!A1),0))>0,"Delete","Keep")

使用 Ctrl + Shift + 输入。 这将检查 应用 apple 以及Sheet2上列出的所有内容。
SEARCH函数也接受通配符(例如? - 表示单个字符,* - 表示0或更多)

重要提示:我没有使用过度搜索范围Sheet2!A:A,因为它会占用大量的计算时间。

答案 1 :(得分:0)

扩展L42的回答: 如果Sheet1!ASheet2!A中的条目数未知,则以下公式将使用Sheet2!A中限制为256的最大条目数。

=IF(A1<>"",IF(SUM(IFERROR(SEARCH(Sheet2!A$1:A$256,Sheet1!A1),0))+COUNTA(Sheet2!A$1:A$256)-256>0,"Delete","Keep"),"")

在上述所有三个实例中更改值 256 以满足您的需求。