将Excel Power查询中的2列数据转换为包含多列的一个标题行

时间:2018-08-19 12:24:21

标签: excel vba excel-vba powerquery

我试图弄清楚如何在Excel Power Query中将2列数据更改为一个包含多列的标题行。据我了解,与使用大量的vlookups或数据透视表相比,Query使Excel文件的大小更小,并且在进程上更少。如果这是一个更好的选择,我愿意接受VBA。

例如,我有一个带有名称列表的列A。然后,列B具有另一个名称列表,其中包含多个具有相同名称的实例。 A列中的名称是分配给B中个人的报告的个人。

我正在尝试创建一个查询(或者更好的是VBA),其中B中的名称成为行标题,而A中的名称属于每个标题中的相应人员。

我希望这是有道理的。预先感谢您的帮助!

下面是一个屏幕截图,展示了我正在使用的内容以及我想要获得的最终结果:

Data

1 个答案:

答案 0 :(得分:0)

您可以使用Power Query:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    ListEmployees = Table.Group(Source, {"Supervisor Name"}, {{"Employees", each Text.Combine([Employee Name],","), type text}}),
    CountEmployees = Table.AddColumn(ListEmployees, "Count", each List.Count(Text.Split([Employees],","))),
    SplitEmployees = Table.SplitColumn(ListEmployees, "Employees", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv),List.Max(CountEmployees[Count])),
    Transpose = Table.Transpose(SplitEmployees),
    PromoteHeaders = Table.PromoteHeaders(Transpose, [PromoteAllScalars=true])
in
    PromoteHeaders

确保您的源数据以表(列表对象)的形式构成。

相关问题