Excel 在一列中隔离唯一值,然后将另一列中的值复制到其他重复值?
我正在努力想办法把它组合起来,需要一些帮助。我有一个非常大的报告,我的工作和手动做任何这是根本不是一个选项 在最简单的解释中,我需要找到列Col J中存在重复值的实例,并查看包含重复值的第一行。然后从另一列F列复制该值,并将其粘贴到J列中包含重复项的每一行中 举例来说,如果报告从以下内容开始:Excel 在一列中隔离唯一值,然后将另一列中的值复制到其他重复值?,excel,vba,Excel,Vba,我正在努力想办法把它组合起来,需要一些帮助。我有一个非常大的报告,我的工作和手动做任何这是根本不是一个选项 在最简单的解释中,我需要找到列Col J中存在重复值的实例,并查看包含重复值的第一行。然后从另一列F列复制该值,并将其粘贴到J列中包含重复项的每一行中 举例来说,如果报告从以下内容开始: +-----------------+--------------+ | Col F | Col J | +-----------------+-------------
+-----------------+--------------+
| Col F | Col J |
+-----------------+--------------+
| Value 1 | 1111 |
| Value 2 | 1111 |
| Value 3 | 2222 |
| Value 4 | 3333 |
| Value 5 | 1111 |
| Value 6 | 3333 |
| Value 7 | 3333 |
| Value 8 | 4444 |
| Value 9 | 4444 |
+-----------------+--------------+
之后我需要它看起来像这样:
+-----------------+--------------+
| Col F | Col J |
+-----------------+--------------+
| Value 1 | 1111 |
| Value 1 | 1111 |
| Value 3 | 2222 |
| Value 4 | 3333 |
| Value 1 | 1111 |
| Value 4 | 3333 |
| Value 4 | 3333 |
| Value 8 | 4444 |
| Value 8 | 4444 |
+-----------------+--------------+
有什么建议吗?要就地执行,请使用字典:
Sub rplc()
Dim dict As Object
Set dict = CreateObject("Scripting.Dictionary")
With Worksheets("Sheet5") 'Change to your sheet name
Dim lstrow As Long
lstrow = .Cells(.Rows.Count, 10).End(xlUp).Row
Dim i As Long
For i = 2 To lstrow
If dict.exists(.Cells(i, 10).Value) Then
.Cells(i, 6).Value = dict(.Cells(i, 10).Value)
Else
dict.Add .Cells(i, 10).Value, .Cells(i, 6).Value
End If
Next i
End With
End Sub
您可以在一个新列中使用INDEX/MATCH:=INDEXF:F,MATCHJ1,J:J,0。