Объединение содержимого ячейки в одном столбце с использованием логики из другого столбца

Я хотел бы объединить и перечислить содержимое ячейки из одного столбца, используя логику, полученную из другого Подробнее см. ниже

Набор Данных

Name             Sales order number

Harry1           1234
Dave2            1235
Mary3            1234
Bill4            1234
Tom5             1235

формула будет смотреть на номера заказов на продажу, собрать все имена с тем же номером заказа на продажу и отображать имена в одном столбце под названием "продано"

результаты

  Name            Sales Order Number            Sold by

Harry1            1234                          Harry1, Mary3, Bill4
Dave2             1235                          Dave2, Tom5
Mary3             1234                          Harry1, Mary3, Bill4
Bill4             1234                          Harry1, Mary3, Bill4
Tom5              1235                          Dave2, Tom5

Это может показаться нелогичным, чтобы сделать это таким образом, но у меня есть огромный набор данных и затем будет делать разворот, используя "результаты"

делая простой оператор IF, я вытащил первое имя в столбец продано, но, похоже, не могу понять, как объединить все имена с одним и тем же заказом на продажу и перечислить их в столбце

30
задан Raystafarian
19.11.2022 16:07 Количество просмотров материала 2738
Распечатать страницу

1 ответ

вы можете сделать этот шаг преобразования с бесплатной Microsoft Власти Запрос надстройки.

Это не VBA, но в этом случае есть некоторые шаги для кода, помимо использования пользовательского интерфейса.

dataset  -  data output from Power Query Таблица "Dataset" - > вывод данных из Power Query

  1. определите набор данных как таблицу (я называю его "Dataset" в следующем скрипте)
  2. на запрос Ленты Power, импортировать таблицы в пользовательском интерфейсе ("от Table")
  3. поместите скрипт ниже в расширенный редактор (вид ленты - > расширенный редактор)

вот код:

let
    Source = Excel.CurrentWorkbook(){[Name="Dataset"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {"Sales order number", Int64.Type}}),
    #"Merged Queries" = Table.NestedJoin(#"Changed Type",{"Sales order number"},#"Changed Type",{"Sales order number"},"NewColumn",JoinKind.LeftOuter),

    // Function for Merging the matching rows
    List_MatchingRows=(Table, Column) =>
        let 
            ColumnToMerge = Table.SelectColumns(Table, Column),
            ListMatch = Table.ToList(ColumnToMerge),
            SingleLine = Text.TrimEnd(Text.TrimEnd(Lines.ToText(ListMatch, ", ")," "),",")
        in
            SingleLine,


    #"Added Custom" = Table.AddColumn(#"Merged Queries", "Sold by", each List_MatchingRows([NewColumn],"Name")),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"NewColumn"})

in
    #"Removed Columns"
0
отвечен visu-l 2022-11-20 23:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх