Excel 如何将具有相同 ID 号的所有行合并到庞大数据集的一列中?

Excel 如何将具有相同 ID 号的所有行合并到庞大数据集的一列中?

我的 excel 文件中有 350K 行。我需要将所有具有唯一 ID 的行合并到同一行,如下所示:

Unique ID    |    Mbr ID    |    Name
1            |    10227     |    ABC1
1            |    254112    |    ABC2
2            |     3688     |    XYZ1
2            |     1123     |    XYZ2
2            |     9800     |    XYZ3

出于某种原因,我们需要将具有相同唯一 ID 的字段合并为一个,如下所示:

Unique ID    |    Mbr ID    |    Name    Unique ID    |    Mbr ID    |    Name    Unique ID    |    Mbr ID    |    Name
1            |    10227     |    ABC1    1            |    254112    |    ABC2
2            |     3688     |    XYZ1    2            |     1123     |    XYZ2    2            |     9800     |    XYZ3    

我们尝试使用vLookup,但似乎需要很长时间,而且大多数情况下根本不起作用。有什么想法吗?

PS 我们尝试了一种叫做的工具Kutools,但是它也不起作用。

答案1

假设名为 Sheet1 的工作表上拥有的源数据占据 A1:Cxxxxxx 范围。

创建一个名为 Sheet2 的工作表 - 数据透视表数据将放入其中。

按 A 列(唯一 ID)对源数据进行排序。

然后运行下一个宏:

Sub doPivot()
Dim sh As Worksheet
Dim vals()
Dim i As Integer
Dim uid
Dim crow As Integer
Dim ccol As Integer

Set sh = ThisWorkbook.Sheets("Sheet2")
vals = ThisWorkbook.Sheets("Sheet1").UsedRange.Value
For i = LBound(vals, 1) To UBound(vals, 1)
    If vals(i, 1) = uid Then
        ccol = ccol + 3
    Else
        crow = crow + 1
        ccol = 1
    End If
    uid = vals(i, 1)
    sh.Cells(crow, ccol) = vals(i, 1)
    sh.Cells(crow, ccol + 1) = vals(i, 2)
    sh.Cells(crow, ccol + 2) = vals(i, 3)
Next i
End Sub

最后,如果需要的话,将标题向左移动。

相关内容