如何转换列中的单元格(数据用逗号分隔)?

如何转换列中的单元格(数据用逗号分隔)?

我有这样的数据:

 1245   S,M,L
 1356   S,M,L,XL

实现此目的的简单方法是什么:

1245    S
1245    M
1245    L
1356    S
1356    M
1356    L
1356    XL

答案1

这可能是使用 VBA 最容易解决的问题(在我看来)。这是一个非常简单的解决方案,可以帮助您入门。您可能需要更改要输出数据的位置。

Sub sizeSplitter()

Dim IDs As Range
    Set IDs = Selection 'Select your range of IDs

Dim rowCounter As Integer
    rowCounter = 2

For Each subRange In IDs

    Dim Sizes() As String

    Sizes = Split(subRange.Offset(0, 1).Value, ",")

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

        Cells(rowCounter, 4) = subRange.Value
        Cells(rowCounter, 5) = Sizes(i)

        rowCounter = rowCounter + 1

    Next

Next subRange

End Sub

结束数据如下

要使用,请突出显示要执行此操作的 ID。此外,强烈建议将 D 列和 E 列中的任何数据移开,除非您希望它们被覆盖 :)

相关内容