如果你確定在Excel做,下面的代碼應該爲你工作:
Sub SplitCellsAndExtend_Old()
'takes cells with inside line feeds and creates new row for each.
Dim strCell As String, lastRow As Long, i As Long, j As Long
application.ScreenUpdating = False
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = lastRow To 1 Step -1
strCell = Cells(i, 1)
j = 0
Do While InStr(1, strCell, Chr(10)) > 0
Rows(i + j + 1).Insert
strCell = Right(strCell, Len(strCell) - InStr(1, strCell, Chr(10)))
Cells(i + j, 1) = Left(Cells(i + j, 1).Value, InStr(1, Cells(i + j, 1), Chr(10)) - 1)
Cells(i + j + 1, 1).Value = strCell
Cells(i + j + 1, 1).Value = Cells(i, 1)
j = j + 1
Loop
Next
application.ScreenUpdating = True
End Sub
使用Python的這似乎是矯枉過正:你不能只使用「文本到列」轉換器?曾經在'Data'組中。 – DSM
是的,只需使用文本到列 - 將你的分隔符設置爲空格 - 你應該很好走。這假設你沒有任何中間名(你的中間名可能與某些姓氏在同一列,然後根據你的名字是如何初始排序的,在這種情況下,我會推薦幾個簡單的電子表格公式)。 – Stepan1010
@DSM文本到列轉換器不起作用,因爲它將空格同樣給我一列Joe,Smith,John,Hawk等的列。 – FJ17