
Option Explicit
Sub 归一()
Dim a, i, j, d, p, m
a = Range("a1:f" & Cells(Rows.Count, "a").End(xlUp).Row).Value '源数据到F列
Set d = CreateObject("scripting.dictionary")
ReDim b(1 To UBound(a), UBound(a, 2) * 10), n(UBound(a))
For i = 1 To UBound(a)
If Not d.exists(a(i, 1)) Then m = m + 1: d(a(i, 1)) = m: b(m, 0) = a(i, 1)
p = d(a(i, 1))
For j = 2 To UBound(a, 2)
If Len(a(i, j)) Then n(p) = n(p) + 1: b(p, n(p)) = a(i, j)
Next
Next
[a1].Offset(, UBound(a, 2) + 3).Resize(UBound(b), UBound(b, 2) + 1) = b
End Sub