📅  最后修改于: 2023-12-03 15:09:00.373000             🧑  作者: Mango
在Excel中,我们经常需要检查两个列中是否存在重复项。这对于查找数据中的重复项或重复数据很有用。那么,该如何在两列中知道Excel中的重复项呢?本篇文章将向程序员介绍如何使用VBA和公式两种方法。
点击开发菜单下的“Visual Basic”按钮,打开VBA编辑器。
点击VBA编辑器中的“插入”菜单的“模块”选项。
在新建的模块中输入以下代码:
Sub FindDuplicates()
Dim col1 As Range, col2 As Range, cell As Range, rng As Range
Dim dict As Object, result As Variant, i As Long
Set col1 = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row)
Set col2 = Range("B1:B" & Cells(Rows.Count, 2).End(xlUp).Row)
Set dict = CreateObject("Scripting.Dictionary")
For Each cell In col1
If cell.Value <> "" Then
dict(cell.Value) = 1
End If
Next
For Each cell In col2
If cell.Value <> "" Then
If dict.Exists(cell.Value) Then
dict(cell.Value) = 2
End If
End If
Next
For Each key In dict.Keys
If dict(key) = 2 Then
i = i + 1
If i = 1 Then
Set rng = Range("C1")
rng.Value = key
Else
Set rng = Range("C" & i)
rng.Value = key
End If
End If
Next
result = MsgBox("已找到 " & i & " 个重复项!是否跳转至结果?", vbYesNo, "FindDuplicates")
If result = vbYes Then
Range("C1:C" & i).Select
End If
End Sub
该程序将在第三列中列出第一列和第二列中的重复项。
回到Excel界面,选中宏按钮,然后运行 “FindDuplicates” 宏。程序将会计算两列中的重复数据,并在第三列中列出结果。
在Excel中,新建一列,列名为“重复项”。
在“重复项”列的第一行,输入以下公式:
=IF(COUNTIF(A:A,B1)>0,B1,"")
然后将公式应用于“重复项”列的整个范围。
使用筛选来查看“重复项”列的数据。所有包含重复项的行将会在筛选的结果中显示出来。
使用COUNTIF函数来计算重复项的数量。在“重复项”列下方空出一行,并在该行中输入以下公式:
=SUM(IF(FREQUENCY(C2:C11,C2:C11)>0,1))
然后按Ctrl+Shift+Enter键(表示数组公式),计算出重复项数量。
以上就是两种方法来在Excel中查找两列中的重复项。VBA方法可以快速地计算出重复项,并将结果显示在Excel中。公式方法则适用于轻量级的应用场景并且使用较为简单。