列中的拆分值&在另一列中放置具有相同编号的新行

时间:2014-09-19 11:52:03

标签: excel

我有一个包含两列的电子表格:PRODUCT ID和CATEGORIES。 PRODUCT ID列中只有一个数字,但在CATEGORIES列中,可以有多个用逗号分隔的数字。我需要的是用逗号分隔的数字继续新行,但保留相同的PRODUCT ID。这是一个例子;

现在的样子:

PRODUCT ID   |   CATEGORIES
1            |   76,81
2            |   76,78
3            |   76,80

我需要什么:

PRODUCT ID   |   CATEGORIES
1            |   76
1            |   81
2            |   76
2            |   78
3            |   76
3            |   80

我如何在excel中执行此操作,我需要一个公式来执行此操作。我有大约6000种产品,所以手动执行此操作不是一种选择。

您的帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

您可以使用:

Sub test()

    Dim c As Range
    Dim ID As Variant
    Dim arrCategories() As String

    Dim d As Range
    Set d = Range("D1")

    Dim i As Long

    For Each c In Range(Range("A1"), Range("A1").End(xlDown))

        ID = c.Value
        arrCategories() = Split(c.Offset(0, 1).Text, ",")

        For i = LBound(arrCategories) To UBound(arrCategories)

            d.Value = ID
            d.Offset(0, 1).Value = arrCategories(i)

            Set d = d.Offset(1, 0)

        Next i

    Next c

End Sub

输入数据必须位于A:B行,从第1行开始。

输出将从第1行开始写入D:E列。

致以最诚挚的问候,

西蒙