我有一個巨大的 Excel 清單(20k+ 行),並且想要將該一列清單拆分為多列。以前我使用過“資料|文字到列嚮導”,但它似乎有一個限制:我無法指定在多少次“拆分”之後停止拆分。範例資料:
type: abds : das
files: asdfs:jgkd
目標是:
|type|abds : das|
|files|asdfs:jgkd|
謝謝你的時間 :)!
答案1
VBA
是完成此類小型一次性任務的絕佳工具。
假設資料位於列中A
且與 連續A1
。如果情況並非如此,只需調整線路Set rng = ...
以適合您的數據即可。
Sub SplitColumn()
Dim rng As Range
Dim dat As Variant
Dim i As Long, j As Long
Set rng = Range([a1], [a1].End(xlDown)).Resize(, 2)
dat = rng
For i = 1 To UBound(dat, 1)
j = InStr(dat(i, 1), ":")
If j > 0 Then
dat(i, 2) = Mid$(dat(i, 1), j + 1)
dat(i, 1) = Left$(dat(i, 1), j - 1)
End If
Next
rng = dat
End Sub
答案2
您可以將第一個冒號替換為“|” - 或其他不會出現在您的資料中的字元 - 使用:
=SUBSTITUTE(A1,":","|",1)
然後將結果複製並貼上為值,並對這些值執行「文字到列」。
答案3
通常您會編寫一些 vbscript 來完成此任務,但如果它是單列工作表,您可以將其另存為文字(製表符分隔),然後再次開啟它。 Excel 會詢問您它是哪種類型的文字檔案。告訴它它是一個file with Separators
,單擊Next
並勾選Other
並在編輯字段中鍵入冒號。
答案4
我能想到的最簡單的方法是從您已經做過的事情開始: Data|Text-to-Columns Wizard 。
然後,您重新連接無意中分割的欄位。