如何使用逗号分隔符将多行值合并为一行

如何使用逗号分隔符将多行值合并为一行

我有一个 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 列查找链的末尾(通过检查下面的行是否是新链)

请尝试一下并告诉我是否有效:)

相关内容