专栏名称: PowerBI星球
海量干货,帮你轻松上手 Power BI
目录
相关文章推荐
知乎日报  ·  知乎图书新品上新——给 6-12 ... ·  4 小时前  
知乎日报  ·  想紧跟 AI 时代浪潮,看这一篇文章就够了 ·  昨天  
Quora文选英语  ·  老外说𝒎𝒖𝒎'𝒔 𝒕𝒉𝒆 ... ·  昨天  
知乎日报  ·  有什么东西是外国人吃,而中国人不吃的? ·  2 天前  
51好读  ›  专栏  ›  PowerBI星球

Power Query批量合并Excel,列名不一致怎么办?

PowerBI星球  · 公众号  ·  · 2024-09-12 12:03

正文

关于用PowerQuery批量合并Excel工作簿,前面分享过几种做法:
PowerQuery批量合并多个Excel的指定列
Power Query批量合并,数据不是从第一行开始怎么办
Power Query批量合并Excel,还有这个好用的方法

有伙伴问到如果 每个Excel文件的数据结构一样,但是列名不相同 ,如何合并到一起呢?
以下面这三个表的数据为例:

这三个表每一列的数据位置是相同的,但是第一行列名不同,如果表不是很多,我们可以先手动修改列名再合并,但是如果表非常多,这样做效率就太低了,其实即使不修改列名我们也可以实现批量合并。
对于上面情况,基本处理思路是:合并时不要将第一行的列名视同标题,当成正常的数据简单合并起来,然后把标题行筛选出去,就实现了批量合并,下面来看看操作步骤。
仍然是先把这些表放到一个文件夹中,然后开始PowerBI的操作:
↑ 获取数据>文件夹

↑ 点击“转换数据”进入PowerQuery编辑器

↑ 添加列>自定义列

↑ 自定义列公式: Excel.Workbook([Content])

这里的Excel.Workbook无需加第二个参数,由于第一行虽然是标题,但是都不相同,无法使用,所以第二参数省略。

Tips:利用PowerQuery进行数据处理时,可以先把其他无关列都删掉,看起来更加清爽,包括之后的步骤,如果展开后,发现有无用的列,可以随时删除。

↑ 展开自定义列


展开以后,点击Data列的某个Table,可以看出每个表的列名都是Column1、 Column2……,这种默认的列名每个表肯定是相同的,直接展开这一列,即可得到简单合并的效果。


然后将第一行用作标题,这个合并后的表就有了标题,实际是第一个表的标题。

这样做好之后,数据行中还有其他表的标题,只需要把他们筛选出去就可以了。

如果表比较少,筛选起来还比较简单,如果表特别多,列名也不固定,那么也并不容易批量将其他表的标题全部筛选掉,这种情况下也有个筛选技巧。
列名一般都是文本,那么我们可以找一个日期列或者数值列,调整数据类型,比如第一列,应该是日期,我们把它调整为日期型, 调整以后,这一列中含有文本列名的值将会报错。
我们只需要右键订单日期,删除错误,即可将其他表的列名行全部删掉。

通过上面的操作,就实现了列名不一致的多表格批量合并。

你可能还会问到,如果多个表格不仅是列名不一致,并且列的顺序也不一致怎么合并?这种情况下如果列名有一定的规律,可以先将列名批量修改为同一的列名,然后再合并,参考:
Power Query批量合并Excel,列顺序/列名都不一致怎么办?
如果列名不相同也没有规律,列顺序还不一致,这种情况下不仅用工具难以识别,即使用人工,都未必能识别出不同的表哪些算是同一列,最好还是先去规范你的数据吧~






请到「今天看啥」查看全文