Доброе время суток! Никак не могу решить задачу: Есть умная таблица, в ней заголовки с номерами документов из списка другой таблицы, строки с названиями документов которые нужно склеить согласно отметке в столбце напротив них. Как EXCEL "заставить" искать название по заголовкам, проверять непустую(ые) ячейку(и) в найденном столбце и склеить значения по совпадению двух условий в другой таблице напротив искомого названия?
Доброе время суток! Никак не могу решить задачу: Есть умная таблица, в ней заголовки с номерами документов из списка другой таблицы, строки с названиями документов которые нужно склеить согласно отметке в столбце напротив них. Как EXCEL "заставить" искать название по заголовкам, проверять непустую(ые) ячейку(и) в найденном столбце и склеить значения по совпадению двух условий в другой таблице напротив искомого названия?limuzin576
запрос примерно так будет выглядеть - обращаю внимание - НИЧЕГО общего с формульным решением [vba]
Код
let f =(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content], //всякие телодвижения с источником данным tbl= f("Данные_Протоколы"), slct = Table.SelectColumns(tbl,List.Select(Table.ColumnNames(tbl),(i)=>List.ContainsAny({i},{"Название","СТГ"},Text.Contains))), unpiv = Table.UnpivotOtherColumns(slct, {"Название протокола"}, "Name", "Значение"), dict = Record.FromTable(Table.Group(unpiv, "Name", {"Value",(t)=>Text.Combine(List.Sort(List.Distinct(t[Название протокола])),", ")})), //собственно его использование to = Table.AddColumn(f("Таблица15"),"Протоколы списком",(x)=>Record.FieldOrDefault(dict,Text.From(x[#"Номер п/п"])&"-"&x[Постфикс])) in to
[/vba]
запрос примерно так будет выглядеть - обращаю внимание - НИЧЕГО общего с формульным решением [vba]
Код
let f =(x)=> Excel.CurrentWorkbook(){[Name=x]}[Content], //всякие телодвижения с источником данным tbl= f("Данные_Протоколы"), slct = Table.SelectColumns(tbl,List.Select(Table.ColumnNames(tbl),(i)=>List.ContainsAny({i},{"Название","СТГ"},Text.Contains))), unpiv = Table.UnpivotOtherColumns(slct, {"Название протокола"}, "Name", "Значение"), dict = Record.FromTable(Table.Group(unpiv, "Name", {"Value",(t)=>Text.Combine(List.Sort(List.Distinct(t[Название протокола])),", ")})), //собственно его использование to = Table.AddColumn(f("Таблица15"),"Протоколы списком",(x)=>Record.FieldOrDefault(dict,Text.From(x[#"Номер п/п"])&"-"&x[Постфикс])) in to