如何在EXCEL的两列数据里找出相同的数以及相同的个数?A列:1 2 4 10 115 12 16 17 226 15 16 17 20B列1 2 5 10 185 7 12 17 216 10 17 18 19A列第一行与B列第一行相比较,有1;2;10三个数是相同的;A列第二行与B
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/23 12:25:17
如何在EXCEL的两列数据里找出相同的数以及相同的个数?A列:1 2 4 10 115 12 16 17 226 15 16 17 20B列1 2 5 10 185 7 12 17 216 10 17 18 19A列第一行与B列第一行相比较,有1;2;10三个数是相同的;A列第二行与B
如何在EXCEL的两列数据里找出相同的数以及相同的个数?
A列:
1 2 4 10 11
5 12 16 17 22
6 15 16 17 20
B列
1 2 5 10 18
5 7 12 17 21
6 10 17 18 19
A列第一行与B列第一行相比较,有1;2;10三个数是相同的;A列第二行与B列第二行相比较,有5,12,17三个数是相同的;A列第三行与B列第三行相比较,有6;17两个数是相同的;请问如何设置公式,使得这个表里可以自动比较这两列,并将相同的数显示出来?甚至可以显示出是3个相同或两个相同?
如何在EXCEL的两列数据里找出相同的数以及相同的个数?A列:1 2 4 10 115 12 16 17 226 15 16 17 20B列1 2 5 10 185 7 12 17 216 10 17 18 19A列第一行与B列第一行相比较,有1;2;10三个数是相同的;A列第二行与B
Sub compare()
Dim r As Worksheet, a() As String, b() As String, intcount As Integer, strtemp As String
Set r = Sheets("sheet1")
For i = 2 To r.UsedRange.Rows.Count
a() = Split(r.Cells(i, 1), Chr(32), -1)
b() = Split(r.Cells(i, 2), Chr(32), -1)
intcount = 0
For m = 0 To UBound(a()) - 1
For n = 0 To UBound(b()) - 1
If a(m) = b(n) Then
If intcount = 0 Then
strtemp = a(m)
Else
strtemp = strtemp & " " & a(m)
End If
intcount = intcount + 1
Exit For
End If
Next n
Next m
r.Cells(i, 3) = strtemp
r.Cells(i, 4) = intcount
Next i
End Sub
'打开EXCEL时按下ALT+F11键,在左边右击新建一个模块,将上面代码复制过去运行一下就可以了.