如何删除不满足包含的Excel中的行?

时间:2014-04-02 17:37:09

标签: excel vba

例如,假设我有两列:

ID, Code
1 A
1 B
1 G
2 A
2 F
3 A
3 B
3 C
3 F
4 B

我想删除任何ID号与A和B都没有关联的行。

因此,例如ID = 1的所有行都可以保留,因为它与代码A和代码B相关联。

要删除ID = 2的所有行,因为它有A,但没有B.

ID = 3的所有行都可以,因为它同时包含A和B.

要删除ID = 4的所有行,因为它只有B,没有A.

真实文件有很多行,所以我不能手动执行此操作。有更快的方法吗?我尝试以某种方式使用Vlookups,但我找不到一种方法可以轻松判断要删除的内容。

2 个答案:

答案 0 :(得分:2)

使用COUNTIFS

=COUNTIFS(A:A,A1,B:B,"A")+COUNTIFS(A:A,A1,B:B,"B")

删除所有返回0或1的结果(并保留所有给出2的结果)。

答案 1 :(得分:1)

在C& C中使用2个临时助手列d

第一栏= A2 & B2,向下复制
第二栏=IF( OR( ISERROR(Vlookup(A2 & "A",C:C,1,FALSE)),ISERROR(Vlookup(A2 & "A",C:C,1,FALSE))),"DeleteMe","SaveMe")

按照D栏中的说明进行操作

删除列C& d

不要忘记首先在备份中尝试此操作,这样您就可以确保它让您满意