Страницы: 1
RSS
Перенос данных дублирующихся строк в отдельные столбцы".
 
Есть таблица в которой один из столбцов имеет дубликаты, а остальные данные с строке разные.
Можно ли данные из строк дубликатов перенести в одну строку в разные столбцы.
Ногами прошу не пинать, надеюсь понятно объяснил :))
Изменено: Юрий М - 16.09.2022 16:05:21
 
Илья Илья,  переформулируйте и предложите новое название темы, из которого будет понятна задача - модераторы поменяют.
 
Я просто пока сообразить не могу, как тему можно ещё назвать.
Как вариант "Перенос данных дублирующихся строк в отдельные столбцы".
 
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="ИсходныеДанные"]}[Content],
    group = Table.Group(Источник, {"ФИО"}, {{"allrows", each Text.Combine([Телефон],"|")}}),
    split = = Table.SplitColumn(group, "allrows", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv)),
    tochange = List.Skip(Table.ColumnNames(split),1),
    changeto = List.Transform(tochange, each Text.Replace(_,"allrows.", "Тел. ")),
    rename = Table.RenameColumns(split, List.Zip({tochange,changeto}))
in
    rename

Цитата
Илья написал:
"Перенос данных дублирующихся строк в отдельные столбцы".
вроде норм  :)
Изменено: whateverlover - 17.09.2022 14:29:46
 
whateverlover,  добавьте Иванову еще один телефон, и вы его уже не увидите
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="ИсходныеДанные"]}[Content],
    a = Table.Group(Источник, {"ФИО"}, {"q", each Table.TransformColumns(Table.AddIndexColumn(_, "q", 1),  {"q", each "Тел №" & Text.From(_)})}),
    b = Table.Combine(a[q]),
    c = Table.Pivot(b, List.Distinct(b[q]), "q", "Телефон")
in
    c
Изменено: Антон - 16.09.2022 17:21:08
 
Антон, да, Антон, спасибо, исправил...просто удалил то что UI захардкодил имена новых столбцов :)
 
Огромное спасибо!!!
Мне до таких познаний ещё далеко. :D  
Изменено: Илья - 17.09.2022 14:02:42
 
Цитата
whateverlover написал:
исправил
По-моему все же нет :)
Если добавить новый номер для Иванова, то он не появляется. Код Антона отрабатывает правильно.
 
memo, я в коде поправил, а в приложенном файле нет) заменил файл
 
whateverlover, Взял обновленный файл, добавил Леонидовичам телефонов, но показываются не все. Взгляните).
 
memo, блин, спасибо большое(  :cry:
скорректировал, но уже костыльное решение какое-то, у Антона универсальней  :)
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="ИсходныеДанные"]}[Content],
    group = Table.Group(Источник, {"ФИО"}, {{"allrows", each Text.Combine([Телефон],"|")}}),
    qty = List.Max(Table.AddColumn(group, "qty", each List.Count(Text.Split(_[allrows], "|")))[qty]),
    split = Table.SplitColumn(group, "allrows", Splitter.SplitTextByDelimiter("|", QuoteStyle.Csv), qty),
    tochange = List.Skip(Table.ColumnNames(split),1),
    changeto = List.Transform(tochange, each Text.Replace(_,"allrows.", "Тел. ")),
    rename = Table.RenameColumns(split, List.Zip({tochange,changeto}))
in
    rename
 
Да, сейчас все ОК)
Страницы: 1
Наверх