在列中拆分值并在另一列中放置同一数字的新行

我有一个包含两列的电子表格:PRODUCT ID和CATEGORIES。 PRODUCT ID列中只有一个数字,但在CATEGORIES列中可以有多个以逗号分隔的数字。 我需要的是由逗号分隔的数字继续到新行,但保持相同的产品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个产品,所以这样做手动不是一个选项。

你的帮助将不胜感激

你可以使用这个:

 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 

input数据必须在第1行开始的A:B列中。

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

最好的祝福,

西蒙