У меня есть файл Excel, в котором в одном столбце перечислены артикулы продуктов, а в другом — URL-адреса изображений продуктов. Проблема в том, что в файле есть несколько строк для одного и того же продукта...
...когда CMS, которую я использую в своем магазине, может читать только такой импорт:
Я бы сделал это вручную, но есть сотни продуктов, каждый с несколькими ссылками на изображения. По сути, мне нужно иметь только один SKU001 (SKU002, SKU003 и т. д.) и объединить его соответствующие ячейки столбца B в одну ячейку со всеми значениями, разделенными запятой. Есть ли способ сделать это?
решение1
Допустим, у нас есть данные вЛист1. SKU указаны в столбцеАиБможет содержать любые данные. 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 находит конец цепочки (проверяя, является ли строка ниже новой цепочкой)
Попробуйте, пожалуйста, и скажите, работает ли это :)