在Excel中组合具有相同值的行

时间:2016-10-27 14:32:05

标签: excel excel-formula

我不熟悉使用excel并想知道以下是否可行。

我有以下格式的文件

R1     R2
200    A
201    A
202    A
202    A
203    A
205    B
203    B
202    B
202    C
203    C

我想将数据转换如下:

R1                 R2
200,201,202,203    A
205,203,202        B
202,203            C

如果以上内容可以在excel中完成,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:1)

您的数据在 A B 列中,这个短宏:

Sub ReOrg()
    Dim nA As Long, nD As Long, i As Long, rc As Long
    Dim s As String, j As Long

    Range("B:B").Copy Range("D1")
    Range("A1").Copy Range("C1")
    Range("D:D").RemoveDuplicates Columns:=1, Header:=xlYes
    rc = Rows.Count
    nA = Cells(rc, 1).End(xlUp).Row
    nD = Cells(rc, 4).End(xlUp).Row

    For i = 2 To nD
        v = Cells(i, 4)
        v2 = ""
        For j = 2 To nA
            If v = Cells(j, 2) Then
                v2 = v2 & "," & Cells(j, 1)
            End If
        Next j
        Cells(i, 3) = Mid(v2, 2)
    Next i
End Sub

将产生:

enter image description here