如何删除 B 列中不包含与 A 列中相同值的所有行?
答案1
你可以设置 C 列,如下所示:=IF(A1=B1;"OK";"KO")
然后设置自动过滤,根据值过滤C列KO
,并删除所有过滤后的行...
例子:
设置公式:
过滤、选择和删除:
!
答案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 来过滤表,选择所有行并将其删除。