excel 行的数据合并

来源:百度知道 编辑:UC知道 时间:2024/05/18 06:59:48
excel 行的数据合并
请问高手,如何将不同行的值合并
问题 结果
21世纪 1,2,3 21世纪 1,2,3,4,5,6
22世纪 4,5,6 制造业信息化 1,2,3,4,5,6,7,8,9,10,11,12
制造业信息化1,2 CG杂志 10,11,12,15,18,20
制造业信息化3,4
制造业信息化5,6
制造业信息化7,8
制造业信息化9,10,11,12
CG杂志 10,11,12
CG杂志 15,18,20

可用VBA的字典功能实现,待会我把程序代码传上来。你的问题中“22世纪”似乎应该是“21世纪”。 程序代码如下:
Private Sub CommandButton1_Click()
Dim d As New Dictionary
Dim rag As Range
Dim i As Long
Range("F:F").ClearContents '清空目标区
For Each rag In Range("A:A") '在A列循环
If rag.Value = "" Then Exit For '遇到空格则退出循环
Rem 以下建立字典
If d.Exists(rag.Value) Then
d(rag.Value) = d(rag.Value) & ", " & rag.Offset(0, 4).Value
Else
d(rag.Value) = rag.Value & " " & rag.Offset(0, 4).Value
End If
Next
For i = 1 To d.Count '在F列写字典
Range("F" & i).Value = d.Items(i - 1)
Next i
End Sub

输入=OFFSET($A$1,(ROW(A1)-1)*3+IF(COLUMN(A1)-1<2,0,MOD(COLUMN(A1)-2,3)),IF(COLUMN(A1)-1>0,1,0),,)

右拉,下拉