Требуется соединить текст в заданных столбцах через разделитель, если в одном определённом столбце идут повторяющиеся значения.(таблица отсортирована по этому столбцу). Из файла примера думаю будет понятно что и как)Спасибо.
Странные у вас задачи, но тем не менее вариант на Power Query:
Код
let
Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
АвтоТип = Table.TransformColumnTypes(Источник,{{"Шапка 1", type text}, {"Шапка 2", type text}, {"Шапка 3", type text}, {"Шапка 4", type text}, {"Шапка 5", type text}, {"Шапка 6", type text}, {"Шапка 7", type text}, {"Шапка 8", type text}, {"Шапка 9", type text}, {"Шапка 10", type text}}),
Группировка = Table.Group(
АвтоТип,
{"Шапка 6"},
{{"Шапка 1", each _[Шапка 1]{0}, type text},
{"Шапка 2", each _[Шапка 2]{0}, type text},
{"Шапка 3", each [Шапка 3]{0}, type text},
{"Шапка 4", each Text.Combine(_[Шапка 4], ";#(lf)"), type text},
{"Шапка 5", each Text.Combine(_[Шапка 5], ";#(lf)"), type text},
{"Шапка 7", each Text.Combine(_[Шапка 7], ";#(lf)"), type text},
{"Шапка 8", each _[Шапка 8]{0}, type text},
{"Шапка 9", each _[Шапка 9]{0}, type text},
{"Шапка 10", each _[Шапка 10]{0}, type text}}),
ПорядокСтолбцов = Table.ReorderColumns(Группировка,{"Шапка 1", "Шапка 2", "Шапка 3", "Шапка 4", "Шапка 5", "Шапка 6", "Шапка 7", "Шапка 8", "Шапка 9", "Шапка 10"})
in
ПорядокСтолбцов
PooHkrd написал: Странные у вас задачи, но тем не менее вариант на Power Query:
Спасибо вам большое) Задачи да... странноватые. Всё из-за структуры данных и не очень ясного понимания как их хранить.
Грубо говоря, есть два списка типономиналов (A и Б), каждых скажем по 10 тысяч. У каждого есть свои характеристики (несколько столбцов). И между ними есть связь, но не у всех. Скажем 1000 штук из группы A является аналогами некоторому числу из группы Б. Причём одному типономиналу может соответствовать несколько (из-за этого и получается несколько перечислений в ячейке и идущие подряд повторы) и наоборот. Получаются две мутные таблицы, к каждой из которых мне надо обращаться через ВПР - найти все аналоги в Б конкретного типономинала из A и наоборот.
Плюс сами таблицы собраны из кусков, имеют разный формат и написание, ... множественные повторы, явные и нет. Понимаю, что Excel не очень подходит для хранения таких связей, но что есть. P.S. Есть какие то толковые книги (pdf) или онлайн учебники по Power Query? Синтаксис вроде понятный, но логика не очень)
Здравствуйте. Похожая задача но необходимо что бы при группировке текст соединялся через разделитель во всех колонках. Есть ли возможность сделать такое соединение по всем колонкам НЕ описывая каждую?
Групировать по -- ID, а соединять по всем колонкам значения через разделитель . В предыдущем ответе описан метод как это делать описывая каждую колонку, мне необходимо сцепить все строки по которым совпадают ID
let
Source = Excel.CurrentWorkbook(){[Name="Append1"]}[Content],
GroupedRows = Table.Group(Source, {"ID"}, {{"tab", each _, type table}}),
AddedCustom = Table.AddColumn(GroupedRows, "tab2", each Table.ToColumns( [tab] )),
AddedCustom1 = Table.AddColumn(AddedCustom, "tab3", each List.Transform( [tab2], each {Text.Combine( List.Transform( _, Text.From), "|" )} ) ),
AddedCustom2 = Table.AddColumn(AddedCustom1, "tab4", each Table.FromColumns( [tab3], Table.ColumnNames( Source ) )),
Custom1 = Table.Combine( AddedCustom2[tab4] )
in
Custom1
Старался максимально разделить шаги для наглядности, а так то это все можно было сразу в группировку впихнуть. Символ разделителя указан в самом конце строки №5.