我有一个包含两列的电子表格: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种产品,所以手动执行此操作不是一种选择。
您的帮助将不胜感激
答案 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列。
致以最诚挚的问候,
西蒙