如何在 Excel 中删除 B 列中不包含 A 列值的所有行?

如何在 Excel 中删除 B 列中不包含 A 列值的所有行?

如何删除 B 列中不包含与 A 列中相同值的所有行?

答案1

你可以设置 C 列,如下所示:=IF(A1=B1;"OK";"KO")

然后设置自动过滤,根据值过滤C列KO,并删除所有过滤后的行...

例子:

步骤1

设置公式:

第2步

过滤、选择和删除:

第2步

答案2

您需要一个这样的公式,然后您可以按“它在 COL1 中吗?”对行进行排序并删除它们。抱歉,我没有自动删除行的方法,除非为其编写宏。而且我还没有喝咖啡……

=IF(ISNA(VLOOKUP(A2,$B$2:$B$7,1,FALSE)),"NO","YES")

IF 检查该值是否在查找范围内。ISNA 检查“#N/A”(表示未找到),并根据 IF 是真(ISNA)还是假(找到的值)将 NO/YES 返回到单元格。

希望这是有意义的。

--编辑:范围内的“$”(美元符号)使范围固定。无论您是否将其拖到其他单元格,它都会保持相同的值。这是您可能想知道的事情...

在此处输入图片描述

答案3

无论如何,如果没有 VBA,您能做的最好的事情就是确定要删除哪些行,然后手动删除它们。


如果要删除 B 中的值在 A 中不存在的行,您可以简单地使用 countif:

在此处输入图片描述

在检查列中只需添加以下公式:=COUNTIF($A$2:$A$8,B2) 固定范围是 A 列的范围,您需要固定值,以便它始终查看相同的范围,当然,您可以使用表格$A$2:$A$8替换[A]


如果您想要查找 B 中的值与 A 中的相邻值不匹配的任何行,请使用@pataluc 提供的 IF 语句:

在此处输入图片描述

在检查列中使用 IF 语句,例如,=IF($A2=$B2,1,0)如果使用表格,则再次执行=IF([@[A]=[@[B],1,0)


在这两个例子中,均根据检查中的值 0 来过滤表,选择所有行并将其删除。

相关内容