我有一個電子表格,其中有一列包含一個或多個資料庫名稱的清單。不幸的是,修改這份報告的周轉時間很長。所以我需要操縱數據。
此列包含特定於單一儲存格中的記錄的所有資料庫,以逗號分隔。我需要將此列表分開並將每個資料庫放置在單獨的單元格中。重要提示:我是不是允許在此解決方案中使用 VBA 巨集/程式碼。
第一個很簡單:找到第一個逗號,將其左側的所有內容返回。這是我正在努力解決的下一個問題。
我創建了一個列來計算單元格中有多少個逗號,因此我可以確定是否列出了多個資料庫。
我該如何應對接下來的問題?
答案1
這不是工作表函數答案,但它也不使用 VBA。
您是否嘗試過使用“文字到列”功能?在 Excel 2010 中,它是資料功能區上的按鈕之一。
- 選擇您的專欄。
- 按一下“文字到列”按鈕。
- 在精靈的第一頁上,選擇“分隔符號”,然後選擇“下一步”。
- 在第二頁上,勾選「逗號」以選擇它作為分隔符號。您可能需要根據資料的格式勾選/取消勾選其他一些選項。
- 此時,您可能可以按一下「完成」將資料拆分為列,但您可能需要轉到下一頁來變更列格式。
答案2
樣本數據在A1, 在B1進入:
=TRIM(MID(SUBSTITUTE($A1,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999))
並複製:
編輯#1:
如果我們從列中的材料開始A和乙像這樣:
並運行這個簡短的巨集:
Sub dural()
Dim N As Long, i As Long, K As Long
N = Cells(Rows.Count, "A").End(xlUp).Row
K = 1
For i = 2 To N
v = Cells(i, "A").Value
ary = Split(Cells(i, "B").Value, ",")
For Each a In ary
Cells(K, "C").Value = v
Cells(K, "D").Value = a
K = K + 1
Next a
Next i
End Sub
我們最終會得到這樣的結果: