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
应该工作,我检查了。