Поскольку вы опубликовали решение VBA, вот оно с использованием Power Query
, доступное в Excel 2010 +
После настройки запроса вы можете отредактировать свой источник данных, а затем refre sh Ваш запрос для обновления результатов.
- Выберите ячейку в таблице
Data
-> Get & Transform
-> From Table/Range
- В редакторе PQ: выберите столбец
Data1
и Group By
- Назовите результирующий столбец
Grouped
- Выберите таблицу результатов столбец и
- Добавить пользовательский столбец
- Формула: = Table.Column ([Сгруппированный], "Data2")
- Имя нового столбца
Data2
- Выберите двуглавую стрелку в новом столбце Data2 и
- Извлеките значения, используя разделитель
Comma
- Удалите столбец таблицы:
Вот M-Code
, который вы можете вставить в расширенный редактор, хотя вам может потребоваться изменить строку источника в зависимости от имени таблицы данных.
* 10 50 *
М-код let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Data1", type text}, {"Data2", type text}}),
#"Grouped Rows" = Table.Group(#"Changed Type", {"Data1"}, {{"Grouped", each _, type table [Data1=text, Data2=text]}}),
#"Added Custom" = Table.AddColumn(#"Grouped Rows", "Data2", each Table.Column([Grouped],"Data2")),
#"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Data2", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
#"Removed Columns" = Table.RemoveColumns(#"Extracted Values",{"Grouped"})
in
#"Removed Columns"