如何使用逗號分隔符號將多行中的值合併為一行

如何使用逗號分隔符號將多行中的值合併為一行

我有一個 Excel 文件,其中在一個列中列出了產品 SKU,在另一列中列出了產品圖像 URL。我的問題是該文件對於同一產品有多行......

http://i.imgur.com/mVn1EYa.jpg

……當我在商店中使用的 CMS 只能讀取這樣的導入時:

http://i.imgur.com/nQNCjci.jpg

我會手動完成,但有數百種產品,每種產品都有多個圖像連結。基本上,我只需要一個 SKU001(SKU002、SKU003 等),並將其對應的 B 列儲存格合併到一個儲存格中,所有值均以逗號分隔。有什麼辦法可以做到這一點嗎?

答案1

假設我們有數據表1。 SKU 在列中A可以包含任何數據。 SKU 已排序:

在此輸入影像描述

以下宏將在中產生重新組織的數據表2:

Sub ReOrganizer()
   Dim s1 As Worksheet, s2 As Worksheet
   Dim N As Long, i As Long, K As Long
   Dim v1 As String, v2 As String
   Set s1 = Sheets("Sheet1")
   Set s2 = Sheets("Sheet2")
   K = 1
   N = Cells(Rows.Count, "A").End(xlUp).Row
   v1 = s1.Cells(2, 1).Value
   v2 = s1.Cells(2, 2).Value

   For i = 3 To N
      vn1 = s1.Cells(i, 1).Value
      vn2 = s1.Cells(i, 2).Value
      If vn1 = v1 Then
         v2 = v2 & "," & vn2
      Else
         s2.Cells(K, 1) = v1
         s2.Cells(K, 2) = v2
         v1 = vn1
         v2 = vn2
         K = K + 1
      End If
   Next i

   s2.Cells(K, 1) = v1
   s2.Cells(K, 2) = v2

End Sub

在此輸入影像描述

答案2

我認為我沒有宏觀的解決方案

生的

哪個過濾器 過濾的

在 C2 中輸入 =IF(A2=A1,C1&","&B2,B2)

然後在 D2 中輸入 =COUNTIF(C3,B3)

並填入表格下方的一行

如果是相同產品,則 C col 與上面的字串連接;如果是新產品,則開始一個新鏈

D col 找到鏈的末尾(透過檢查下面的行是否為新鏈)

請嘗試並告訴我是否有效:)

相關內容