(z)=>
let
Источник = Excel.Workbook(File.Contents(z), null, true),
Лист1_Sheet = Источник{[Item="Лист1",Kind="Sheet"]}[Data],
#"Удаленные столбцы" = Table.RemoveColumns(Лист1_Sheet,{"Column2", "Column3", "Column5", "Column6", "Column7", "Column8", "Column9", "Column10", "Column11", "Column12", "Column13", "Column14", "Column15", "Column16", "Column17", "Column18", "Column19"}),
#"Удаленные верхние строки" = Table.Skip(#"Удаленные столбцы",3),
#"Текст в верхнем регистре" = Table.TransformColumns(#"Удаленные верхние строки",{{"Column1", Text.Upper, type text}}),
пробелы = Table.TransformColumns( #"Текст в верхнем регистре",{"Column1", Text.Trim, type text}),
//тут я заменяю короткие строчки, если нашлись более длинные с таким же началом
descr = List.Buffer(List.Distinct(пробелы[Column1])),
full_descr =
Table.AddColumn(
пробелы,
"description",
(x) => List.Select(descr, (w) => Text.Contains(w, x[Column1]) and w <> x[Column1]){0}? ?? x[Column1]),
#"Переупорядоченные столбцы" = Table.ReorderColumns(full_descr,{"Column1", "description", "Column4"}),
#"Удаленные столбцы1" = Table.RemoveColumns(#"Переупорядоченные столбцы",{"Column1"}),
//тут я обращаюсь к другому запрошенному файлу
lst = List.Buffer(искомое[Столбец2]),
found = Table.AddColumn(#"Удаленные столбцы1", "позиция", (x) => List.Select(lst, (w) => Text.Contains(x[description], w)){0}?),
#"Разделить столбец по разделителю" = Table.SplitColumn(found, "description", Splitter.SplitTextByAnyDelimiter({" тбл", " 0", " 1", " 2", " 3", " 4", " 5", " 6", " 7", " 8", " 9", " /", "№", ". ", " [", " (Год", " (Без"}, QuoteStyle.None, false), {"Column1.1", "Column1.2"}),
#"Удаленные столбцы2" = Table.RemoveColumns(#"Разделить столбец по разделителю",{"Column1.2"}),
#"Объединенные столбцы" = Table.CombineColumns(#"Удаленные столбцы2",{"Column1.1", "позиция"},Combiner.CombineTextByDelimiter(" ", QuoteStyle.None),"Сведено")
in
#"Объединенные столбцы"
|