Страницы: 1
RSS
Накопление текстовых значений ячеек, Артикул с полной размерной линейкой в каждой строке
 
Добрый день.
Дано- в столбце А-артикул, в столбце B- размер артикула.

В столбце D надо получить артикул с полной размерной линейкой (через запятую) в каждой строке, как в примере.
 
ela98, PQ  - смотрите файл
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Артикул", type text}, {"Размер", type text}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"Артикул"}, {{"Количество", each _, type table [Артикул=text, Размер=text]}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "Пользовательский", each Text.Combine([Количество][Размер],", ")),
    #"Развернутый элемент Количество" = Table.ExpandTableColumn(#"Добавлен пользовательский объект", "Количество", {"Артикул", "Размер"}, {"Количество.Артикул", "Количество.Размер"}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Развернутый элемент Количество",{"Количество.Артикул", "Количество.Размер"}),
    #"Объединенные столбцы" = Table.CombineColumns(#"Удаленные столбцы",{"Артикул", "Пользовательский"},Combiner.CombineTextByDelimiter(",", QuoteStyle.None),"Сведено")
in
    #"Объединенные столбцы"
ну или макрос
Код
Sub sd()
Dim k As Long, j As Long
lr = Cells(Rows.Count, 1).End(xlUp).Row
Range("D3:D" & Cells(Rows.Count, 4).End(xlUp).Row + 1).Clear
Range("A3:A" & lr).Copy Destination:=Range("D" & Cells(Rows.Count, 4).End(xlUp).Row + 1)
lr2 = Cells(Rows.Count, 4).End(xlUp).Row
For k = 3 To lr2
    For j = 3 To lr
      If InStr(1, Cells(k, 4), Cells(j, 1)) <> 0 And InStr(1, Cells(k, 4), Cells(j, 2)) = 0 Then
        Cells(k, 4) = Cells(k, 4) & "," & Cells(j, 2)
      End If
    Next j
Next k
End Sub
Изменено: Mershik - 20.05.2020 12:45:28
Не бойтесь совершенства. Вам его не достичь.
 
ela98, Добрый день.

ФОРМУЛА : =A6&","&СцепитьЕсли($A$3:$A$14;A6;$B$3:$B$14;",";0)

UDF сцепитьесли
Изменено: Rustam Kabirov - 20.05.2020 12:39:56
 
Спасибо! С макросами посложнее, воспользуюсь формулой. Работает!
Страницы: 1
Наверх