我们有一大批数据需要使用 Excel 进行筛选。
“B 列”包含电子邮件地址,其他列包含相关和必要的信息。
我知道您可以使用函数来找出哪些条目出现在两列中(或出现在一列中,但不出现在另一列中)并将该条目输入到第三列中。
我们想要做的是运行这样的函数 - 找出哪些条目出现在 B 列中但没有出现在 C 列中。但是,我们希望确保与 B 列条目对应的行中的所有信息保持不变。
即假设 B 列第 231 行包含 G 列和 H 列的相关信息,并且出现在 C 列中,因此该行可以接受。但是,B 列第 232 行未出现在 C 列中,因此将被删除。
是否有可能做到这一切,但确保其他信息不受影响?
答案1
由于您在问题中指的是电子邮件。单元格值将是字符串数据类型,因此您可以使用以下代码来比较字符串。
仅删除单元格内容
Sub stringCompareColumns()
For checkRow = 1 To Range("B1").End(xlDown).Row
If StrComp(Range("B" & checkRow).Value, Range("C" & checkRow).Value) = 1 Then Range("B" & checkRow).Clear
Next
End Sub
删除整行
Sub compareColumnsRemoveRow()
For checkRow = Range("B1").End(xlDown).Row To 2 Step -1
If StrComp(Range("B" & checkRow).Value, Range("C" & checkRow).Value) = 1 Then Rows(checkRow).EntireRow.Delete
Next
End Sub