- 假设我有一张表 -第一- 超过 5000 行(例如,列 ' A ' - ' H ' 每列)。
- 在另一张表中 -第二个- 我有一个“要删除列表” - 一个包含 400 个值的单列“ A ”,每个值都包含字母数字字符串(例如:xxx1234)。
- 如果列“ E ”包含“to-remove-list”中的任何值(来自第二张表的“ A ”列),我必须从第一张表中删除每一行。
- 通过删除整行,我的意思是删除该行并将其向上移动(不留下空白)
我该如何做到这一点?任何帮助将非常感激。
我该如何做到这一点?任何帮助将非常感激。
给定表 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
然后,您可以轻松过滤或排序工作表 1,并删除标记为“删除”的行。
我发现了一种更可靠的方法(至少在 Excel 2016 for Mac 上)是:
假设您的长列表在 A 列中,并且要从中删除的内容列表在 B 列中,然后将其粘贴到 C 列的所有行中:
= IF(COUNTIF($B$2:$B$99999,A2)>0,"删除","保留")
然后只需按 C 列对列表进行排序,即可找到要删除的内容。
如果使用大量需要很长时间才能手动删除的“删除”值,我会这样做。