先通过一个简单地例子来讲如何快速实现合并工作表,并进行分析。下面有三个工作表,每个工作表有多个sheet,且结构都一致。一般情况下,数量少的时候可以手动复制就可以搞定,但是当有很多数据的时候,也只能用VBA来解决了,但VBA还是有点难学的。下面就来教你如何试试
power query来解决这个问题。
为了避免和原来的数据混在一起,新建了一个工作表,切换到“数据”选项卡,单机“新建查询”按钮,选择“文件夹”。在弹出的浏览文件夹对话框中,选择要合并的数据所在的文件夹。
一、选择导入文件夹
1.png2.png
点击确定键之后跳出了一个预览文件清单的框,点击编辑按钮,进入power query编辑界面。在编辑器中可以看到,3个Excel工作表的信息都被读了进去,包括工作表的名称、修改时间等。其中工作表的数据在“content”列中。 3.png
二、自定义列
用power query里的简单函数“Excel.Workbook”将这些工作簿的数据解析出来:在power query查询编辑器里,切换到“添加列”选项卡,单击“自定义列”按钮,在弹出的对话框里输入公式:“=Excel.Workbook([Content],true)”
三、选择需要合并的“订单表”
单击上步的自定义列的数据展开按钮,取消按钮“使用原始列名作为前缀”复选框,单击确定。
5.png
点击确定键之后会多出几列数据,单击Item列右侧的数据筛选按钮,在弹出的对话框勾选“订单”复选框,单击确定键。
6.png
这时候数据就展开了订单表的数据,单击“Data”列右侧的数据展开按钮,在弹出的对话框中取消勾选“使用原始列名作为前缀”,单击确定键。
image.png
四、删除不需要的列
数据展开后,订单表中的所有数据会被选中的状态(显示蓝色),右键选中“删除其他列”。这样就合并好了。
7.png
五、关闭并上载导入到Excel
8.png 9.png报表自动化的关键是,以后要导入新的数据时候,不需要再重新做一遍,而是一键刷新就自动得到最新的结果。比如,这里将数据返回到了Excel里了,以后数据源有了新的内容,只需要在Excel里右键选择“刷新”就可以得到最新的数据。
六、那如果要再次合并订单明细表呢,这里就显示了power query 强大之处,因为之前合并的步骤都已经记录下来了。
10.png所以只要复制就可以复制上面的步骤,而不需要重新操作一次。下面具体来看看:
在Excel中,切换到数据选项卡,单击显示查询按钮,在右侧的工作簿中双击前面步骤创建的查询,进入power query界面。
11.png
在左侧的查询界面中右键复制订单表,并粘贴到下面,在右侧改名为“订单明细表”。
12.png
13.png
这时候我们只要操作右侧的查询设置中的应用步骤,可以点击每一个步骤看看具体的数据,由于订单明显表和订单表的整个过程是从筛选步骤开始有差异,所以只要修改“筛选的行”以后的步骤就可以。在应用的步骤中,右键单击“筛选的行”步骤。在弹出的菜单中选择“删除到末尾”。
接下来就和上面的操作类似了,在item中选择“订单明显”,确定后再删除其他的列就得到了订单明显表,最后还是将数据上载到Excel中。
15.png
16.png
最后合并多的工作表的任务就完成了,你学会了吗?
17.png
如果是一个工作簿里有多个相同结构的sheet合并请点击
如果你想要数据源来进行操作练习的话,私信发1即可。
网友评论