如果某列包含“要删除列表”中的值,则在Excel中删除行。

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

我应该怎么做?非常感谢您的帮助。


4
你能在sheet1中添加一列,利用VLookup函数来检索sheet2的数据。通过标记所有VLookup的记录,你可以对sheet1中的行进行排序,并突出显示或删除这些被标记的行。 - James L.
太棒了,James L. 非常感谢你提出这个想法! - user1666562
我将用一个简单的例子来阐述这个想法。 - James L.
5个回答

77

给定第二张工作表:

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张工作表,并删除标记为“Delete”的行。


10
不确定这是否能帮到其他人,但我必须将它写成=IF(ISERROR(VLOOKUP(A1,Sheet2!$A$3:$A$7,1,FALSE)),"Keep","Delete") - James
@James $符号使所选区域固定,因此在拖动或复制粘贴单元格时不会“移开”。 - totymedli
1
Sheet1上的公式可以通过以下三种方式引用Sheet2中的范围:1)通过A:A来引用整列,2)通过$A$3:$A$7来引用固定的单元格范围,3)在Sheet2中创建一个命名区域,以在Sheet1的公式中使用。#1的性能最差,#2和#3如果Sheet2上的数据发生更改,则更难维护。如果您不使用整个列'A:A'语法,则必须使用'$'来锁定范围,或者必须使用命名区域。这样做使得Sheet1上的公式在您将Sheet1上的公式复制/粘贴到多个单元格时引用Sheet2上相同的范围。 - James L.

13

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

假设您要删除的长列表在列A中,要从中删除的内容列表在列B中,则将以下内容粘贴到列C的所有行中:

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

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


10

如果需要移除大量的值并且手动逐个删除会很耗时,以下是我处理这种情况的方法:

  • -将原始列表放在A列 -将要移除的值列表放在B列 -选择这两列,然后选择“条件格式”
    -选择“突出显示单元格规则” --> “重复值”
    -这些重复值将在两列中被突出显示
    -然后选择A列,然后选择“排序和筛选” ---> “自定义排序”
    -在弹出的对话框中,选择中间选项“排序方式”,并选择“单元格颜色”
    -然后选择下一个选项“排序顺序”,并选择“没有单元格颜色”“在底部”
    -所有被突出显示的单元格应该在列表的顶部。 -通过向下滚动列表选择所有被突出显示的单元格,然后点击删除。

1

2022年9月28日新回答

现在你可以使用FILTER函数来简化它。

=FILTER(A3:B7, ISNUMBER(MATCH(A3:A7,D3:D4,0)))

sample excel file

注意:该问题需要修改原始数据表,一般情况下不建议这样做,因为您正在更改输入,最好使用具有所需转换的工作表。


1

对于更现代的解决方案,可以使用 Power Query 将数据导入,使用左外连接将第二个工作表合并到第一个工作表中。展开。使用下拉筛选器删除不匹配的行作为 null。移除测试列,关闭文件并重新加载到 Excel。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接