多簿多表合并(Power Query)

问题:同一文件夹内的多个工作簿,每个工作簿内工作表数量不定,需要合并到一个工作表里。

注意:每个工作表标题均在第一行

示例工作簿在C盘下的数据源文件夹中,每列标题分别为:日期、城市/地区、品名、类别、销量、单价、销售额

let
    源 = Folder.Files("C:\数据源"),
    重命名的列 = Table.RenameColumns(源,{{"Name", "工作簿名"}}),
    替换的值 = Table.ReplaceValue(重命名的列,".xlsx","",Replacer.ReplaceText,{"工作簿名"}),
    添加工作簿列 = Table.AddColumn(替换的值, "工作簿", each Excel.Workbook([Content],true)),
    展开工作簿 = Table.ExpandTableColumn(添加工作簿列, "工作簿", {"Name", "Data", "Kind"}, {"工作表名", "Data", "Kind"}),
    筛选的行 = Table.SelectRows(展开工作簿, each [Kind] = "Sheet"),
    删除的列 = Table.RemoveColumns(筛选的行,{"Kind","Content", "Extension", "Date accessed", "Date modified", "Date created", "Attributes", "Folder Path"}),
    展开Data = Table.ExpandTableColumn(删除的列, "Data", {"日期", "城市/地区", "品名", "类别", "销量", "单价", "销售额"}),
    更改的类型 = Table.TransformColumnTypes(展开Data,{{"工作簿名", type text}, {"工作表名", type text}, {"日期", type date}, {"城市/地区", type text}, {"品名", type text}, {"类别", type text}, {"销量", Int64.Type}, {"单价", type number}, {"销售额", type number}})
in
    更改的类型

posted @ 2022-08-16 18:30  熬肥妖  阅读(565)  评论(0编辑  收藏  举报