PowerQuery批量汇总多个Excel工作簿的功能非常实用,即使没有学习Power BI,也应该学会这个功能,如果你还不会,可以看看这两篇文章:
批量合并Excel,PowerQuery的这些技巧你应该掌握
虽然刚开始练习时,有可能会碰到各种各样的问题,但仔细看看上面这两篇文章,并熟练运用,应该能满足90%以上的Excel合并场景,除非你的数据源非常不规范。
数据源不规范的一种形式是,每个表的字段是不完全一致的,比如下面示例中的这几张表:
这三张表的字段数量以及先后顺序都不一致,如果直接合并,就会是错乱的汇总结果、或者直接报错无法汇总。
这种情况比较常见,曾经多次有星友问过这个问题,之前给出了一个用M解决的思路(PowerQuery:批量合并Excel表的指定列),略显复杂并且不够灵活,本文介绍一个更简单的方法。
以上面的数据为例,我们从头开始,再详细介绍一下PowerQuery批量合并的操作过程。
↑ 获取数据>文件夹
↑ 点击“转换数据”进入PowerQuery编辑器
↑ 添加列>自定义列
↑ 自定义列公式:Excel.Workbook([Content],true)
这是最关键的一步,平时使用Excel.Workbook来解析二进制数据时,第二个参数常常是省略的,但这里为了合并特定的某些列,一定要加上参数true,该参数的作用是,默认将表的第一行作为标题。
↑ 展开自定义列
↑ 展开Data列
点击Data列右上角的展开按钮后,就会看到每张表的字段列表,想合并哪些列,直接勾选列名,点击确定,就会自动将每张表的所选字段按顺序合并到一起,是不是非常简单呢?
(合并后对于不需要的行,可以筛选出去,对于不需要的列,直接删除,按需要简单整理即可,不再详细介绍,你如果还不熟悉,请参考:数据清洗中最常使用的十三招)
这里并没有用到复杂的M函数,也没有繁琐的操作步骤,只是在文件夹汇总的正常操作步骤基础上,为Excel.Workbook函数添加一个参数,就实现了批量合并特定的列。
关于PowerQuery批量汇总Excel文件,如果你还有其他问题或者解决方案,欢迎留言分享。
-精彩推荐-
采悟
网友评论