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
请问高手,如何将不同行的值合并
问题 结果
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),,)
右拉,下拉