如何在 Excel 中对多行数据进行分组?

如何在 Excel 中对多行数据进行分组?

我需要将多行数据分组到一行。我遇到的问题是,我继承了这些数据,数千行,并且 A 列仅在开始新的数据行时才包含一个值。例如,我有:

数据

我需要返回:

结果

关于如何实现这一目标,有什么想法吗?

答案1

使用此代码:

Sub Merge()
Set d = CreateObject("Scripting.Dictionary")
arr = [a1].CurrentRegion
For i = 2 To UBound(arr)
    If Len(arr(i, 1)) = 0 Then arr(i, 1) = arr(i - 1, 1)
    If Not d.exists(arr(i, 1)) Then
        d(arr(i, 1)) = arr(i, 2)
    Else
        d(arr(i, 1)) = d(arr(i, 1)) & "," & arr(i, 2)
    End If
Next
[d2].Resize(d.Count, 2) = Application.Transpose(Array(d.keys, d.items))
End Sub

在此处输入图片描述

相关内容