Всем привет и С Новым Годом! Не могу разобраться уже пол дня. Есть выгрузка из базы на один лист, с этого листа ссылка нужных данных идет на другой лист - результаты. Названия в базе все сокращенные и заполняются в определенном порядке, например - инт+2ук+штк (2ук это два предмета ук). Необходимо перевести эти предметы цифрами в количество, т.е. - инт+2ук+штк должно выглядеть следующим образом - 1 (одна ячейка) 2 (вторая) 1 (третья). инт+3ук+10штк должно выглядеть - 1 3 10 в отдельных ячейках. Стоит заметить что не всегда могут быть все предметы , например может быть так - 5инт+штк , тогда должно выглядеть так 5 (вторая ячейка ук пустая) 1 Подскажите как это реализовать формулами. Спасибо.
ну вот, а я уже решил массивно так =IFERROR(10^LOG(IFERROR(--RIGHT(IFERROR(SUBSTITUTE(LEFT("+"&$A2;MAX(IFERROR(FIND({1;2;3;4;5;6;7;8;9;0;"+"}&B$1;"0"&$A2);-1)));"+";REPT(" ";99));-1);99);1));"")
let
Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(Source, {"Выгрузка с базы", Splitter.SplitTextByDelimiter("+", QuoteStyle.Csv)}), "Выгрузка с базы"),
#"Split Column by Character Transition" = Table.SplitColumn(#"Split Column by Delimiter", "Выгрузка с базы", Splitter.SplitTextByCharacterTransition({"0".."9"}, (c) => not List.Contains({"0".."9"}, c)), {"Выгрузка с базы", "qq"}),
#"Added Conditional Column" = Table.AddColumn(#"Split Column by Character Transition", "q", each if [qq] = null then [Выгрузка с базы] else [qq]),
#"Added Custom" = Table.AddColumn(#"Added Conditional Column", "q2", each try if Number.From([Выгрузка с базы]) is number then Number.From([Выгрузка с базы]) else "a" otherwise 1)[[q],[q2]],
a = Table.Group(#"Added Custom", {"q"}, {"w", each Table.AddIndexColumn(_,"w")}),
Custom1 = Table.Combine(a[w]),
#"Pivoted Column" = Table.Pivot(Custom1, List.Distinct(Custom1[q]), "q", "q2"),
#"Removed Columns" = Table.RemoveColumns(#"Pivoted Column",{"w"})
in
#"Removed Columns"