问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

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

创作时间:
作者:
@小白创作中心

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

引用
1
来源
1.
http://www.360doc.com/content/24/0912/12/75900155_1133800902.shtml

PowerQuery批量合并多个Excel的指定列
Power Query批量合并,数据不是从第一行开始怎么办
Power Query批量合并Excel,还有这个好用的方法
有伙伴问到如果每个Excel文件的数据结构一样,但是列名不相同,如何合并到一起呢?
以下面这三个表的数据为例:

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

↑ 获取数据>文件夹
↑ 点击“转换数据”进入PowerQuery编辑器
↑ 添加列>自定义列
↑ 自定义列公式:Excel.Workbook([Content])
这里的Excel.Workbook无需加第二个参数,由于第一行虽然是标题,但是都不相同,无法使用,所以第二参数省略。
Tips:利用PowerQuery进行数据处理时,可以先把其他无关列都删掉,看起来更加清爽,包括之后的步骤,如果展开后,发现有无用的列,可以随时删除。
↑ 展开自定义列
展开以后,点击Data列的某个Table,可以看出每个表的列名都是Column1、Column2……,这种默认的列名每个表肯定是相同的,直接展开这一列,即可得到简单合并的效果。
然后将第一行用作标题,这个合并后的表就有了标题,实际是第一个表的标题。
这样做好之后,数据行中还有其他表的标题,只需要把他们筛选出去就可以了。
如果表比较少,筛选起来还比较简单,如果表特别多,列名也不固定,那么也并不容易批量将其他表的标题全部筛选掉,这种情况下也有个筛选技巧。
列名一般都是文本,那么我们可以找一个日期列或者数值列,调整数据类型,比如第一列,应该是日期,我们把它调整为日期型,调整以后,这一列中含有文本列名的值将会报错。
我们只需要右键订单日期,删除错误,即可将其他表的列名行全部删掉。
通过上面的操作,就实现了列名不一致的多表格批量合并。
你可能还会问到,如果多个表格不仅是列名不一致,并且列的顺序也不一致怎么合并?这种情况下如果列名有一定的规律,可以先将列名批量修改为同一的列名,然后再合并,参考:
Power Query批量合并Excel,列顺序/列名都不一致怎么办?
如果列名不相同也没有规律,列顺序还不一致,这种情况下不仅用工具难以识别,即使用人工,都未必能识别出不同的表哪些算是同一列,最好还是先去规范你的数据吧~

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号