如果列包含来自通配符的去除列表的值,则删除行

如何制作通配符,以便find不完全匹配的内容? 我试过拿出1,并在A1(查找值)之后加上“*”。

换句话说,如果我在黑名单中有应用程序 ,我如何使它匹配苹果 ,使其返回“删除”?

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 

使用searchfunction,但你需要input数组公式
就像是:

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

使用Ctrl + Shift + Enterinput 。 这将检查应用程序苹果和Sheet2上列出的所有内容。
SEARCH函数也接受通配符(例如? – 对于单个字符,* – 对于0或更多)

重要提示:我没有使用过量的search范围Sheet2!A:A因为它会消耗大量的计算时间。

要扩展L42的答案:如果Sheet1!ASheet2!A中的条目数量未知,则以下公式将与Sheet2!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以满足您的需求。