求助判断对应是否单元格相同并提取的公式
vba吧
全部回复
仅看楼主
level 1
各位大神们帮忙看看有没有什么公式可以实现图中效果。如图所示,I2:N6每一行单元格对应B2:G20区域内每一行单元格。如果有相同的在O列显示A列的数值,没有相同就不显示,有多个相同就用逗号隔开显示出来。比如I2:N2在B2:G2中有B2和I2,D2和K2相同,E2和L2相同,G2和N2相同所以O2显示A2数值。
2025年01月14日 05点01分 1
level 7
Option Explicit
Sub 宏1()
Dim arr1, arr2, i&, j&, x&, y&, ok
arr1 = Range("a2:g20")
arr2 = Range("i2:o6")
For i = 1 To UBound(arr2)
arr2(i, 7) = ""
For x = 1 To UBound(arr1)
ok = 0
For y = 1 To UBound(arr1, 2)
For j = 1 To UBound(arr2, 2)
If arr2(i, j) <> "" And arr1(x, y) = arr2(i, j) Then
ok = 1
Exit For
End If
Next j
If ok = 1 Then Exit For
Next y
If ok = 1 Then arr2(i, 7) = arr2(i, 7) & arr1(x, 1) & ","
Next x
If arr2(i, 7) <> "" Then arr2(i, 7) = Left(arr2(i, 7), Len(arr2(i, 7)) - 1)
Next i
Range("i2:o6") = arr2
End Sub
2025年01月14日 07点01分 2
1