Excel一行到多行,基于列数据

我有一个超过10K行的Excel文件,看起来像

ID | DATA1 | DATA2

1 |文字| 13; 15; 16

2 | Text2 | 13; 12

我需要扩展数字在DATA2字段中使用delimeter“;” 到一个新的行:

ID | DATA1 | DATA2

1 | 文| 13

1 | 文| 15

1 | 文| 16

2 | 文本2 | 13

2 | 文本2 | 12

是否有可能用Excel做到这一点?

你可以用VBA做。 在MS Excel中打开macros并插入此代码。

Sub todo() lRow = Cells(Rows.Count, 1).End(xlUp).Row rowNum = lRow For r = 1 To lRow symbolCounter = UBound(Split(Cells(r, 3).value, ";")) + 1 textVal = Split(Cells(r, 3).value, ";") For c = 1 To symbolCounter rowNum = rowNum + 1 Cells(rowNum, 1).value = Cells(r, 1).value Cells(rowNum, 2).value = Cells(r, 2).value Cells(rowNum, 3).value = textVal(c - 1) Next c Next r End Sub 

应该工作,我检查了。