48
  1. 假设我有一张表 -第一- 超过 5000 行(例如,列 ' A ' - ' H ' 每列)。
  2. 在另一张表中 -第二个- 我有一个“要删除列表” - 一个包含 400 个值的单列“ A ”,每个值都包含字母数字字符串(例如:xxx1234)。
  3. 如果列“ E ”包含“to-remove-list”中的任何值(来自第二张表的“ A ”列)必须从第一张表中删除每一行。
  4. 通过删除整行,我的意思是删除该行并将其向上移动(不留下空白)

我该如何做到这一点?任何帮助将非常感激。

4

3 回答 3

74

给定表 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,并删除标记为“删除”的行。

于 2012-09-12T22:23:18.987 回答
13

我发现了一种更可靠的方法(至少在 Excel 2016 for Mac 上)是:

假设您的长列表在 A 列中,并且要从中删除的内容列表在 B 列中,然后将其粘贴到 C 列的所有行中:

= IF(COUNTIF($B$2:$B$99999,A2)>0,"删除","保留")

然后只需按 C 列对列表进行排序,即可找到要删除的内容。

于 2016-01-20T16:57:36.987 回答
10

如果使用大量需要很长时间才能手动删除的“删除”值,我会这样做。

  • - 将原始列表放入 A 列 - 将删除列表放入 B 列 - 选择两列,然后选择“条件格式”
    - 选择“突出显示单元格规则”-> “重复值”
    - 应在两列中
    突出显示重复项 - 然后选择A列,然后“排序和过滤”--->“自定义排序”
    -在出现的对话框中,选择中间选项“排序”并选择“单元格颜色”-然后
    选择下一个选项“排序顺序”并选择“无单元格颜色”“在底部”
    -所有突出显示的单元格都应位于列表的顶部。- 通过向下滚动列表选择所有突出显示的单元格,然后单击删除。
于 2016-01-31T14:00:39.993 回答