通过相同字段合并两个不同工作表的三种方法



通过相同字段合并两个不同工作表的三种方法

肯定有人会说Vlookup,但就是不讲Vlookup , 换点其他玩法 。
不同工作表中有相同字段 , 如何利用这个相同的字段将所有工作表内容联系在一起并重新组合成新的内容工作表呢?这是一个大家伙经常问我的问题 。
这个问题其实不难,私下问了一下朋友 , 一般她遇到会怎么解决,回答是利用Vlookup函数做查询,其实我第一时间也是想到了这个 , 所以呢,今天就不分享Vlookup函数怎么做了,我们来玩玩其他的解决方法吧 。
第一种:数据透视表之SQL
提到这个SQL,很多初学者是抵触的,其实我一开始也是,毕竟计算机语言是个很麻烦的东西,再加上我个文科生,看都看求不懂,更别说让我写了 。但是 , 如果你稍微有点英语单词基?。绕涫歉挪椴槔鲜ρ? ,就教你最有用的那几句就可以比别人效率高不少了 。
先看案例数据,Sheet1的数据如下:
通过相同字段合并两个不同工作表的三种方法

Sheet2的数据:
通过相同字段合并两个不同工作表的三种方法

相同的字段是:姓名,其他就没有了 , 所以要求很简单 , 根据Sheet1中的姓名,找出其他相对应的字段信息 。
步骤如下:
将光标放置在sheet1中任意处,打开数据选项卡,点击-现有连接 , 如下:
通过相同字段合并两个不同工作表的三种方法

弹出的对话框 , 点击浏览更多:
通过相同字段合并两个不同工作表的三种方法

找到你这份Excel文件本身,选择它确定之后,弹出对话框如下 , 保持默认状态,直接确定:
通过相同字段合并两个不同工作表的三种方法

弹出的对话框,直接选择数据透视表吧,数据放在新工作表中,这样也不破坏原有的表格数据:
通过相同字段合并两个不同工作表的三种方法

【通过相同字段合并两个不同工作表的三种方法】上表中,点击属性按钮后,选择定义选项卡 , 其他都保持不变,在命令文本中输入:
通过相同字段合并两个不同工作表的三种方法

SELECT A.*,B.* from [Sheet1$]A LEFT JOIN [Sheet2$]B ON A.姓名=B.姓名
单个的单词估计都能看懂,放一块是这个意思:
选择A数据中的所有内容,B数据中的所有内容(因为*就表示所有的意思嘛) , A来源于工作表Sheet1中,[Sheet1$]A就是指工作表1中的A数据区域,A这里是为了简化,取的个别名而已,Left join是左联合的意思,也就是以A的数据为基础了,ON后面跟的就是条件了 , 这里的条件很显示两个表要联合,相同的字段是姓名嘛 。
如果对A不是特别理解,我们直接写成这样也可以:SELECT [Sheet1$].*,[Sheet2$].* from [Sheet1$] LEFT JOIN [Sheet2$] ON [Sheet1$].姓名=[Sheet2$].姓名
完成之后直接确定 , 一个数据透视表就生成了:
通过相同字段合并两个不同工作表的三种方法

接下来,利用数据透视表整合所有字段就轻而易举了 。
通过相同字段合并两个不同工作表的三种方法

其实上面那句话简单的理解就是:将A中的数据和B中的数据通过姓名建立联系组合 。
SQL语句:select...from...left join...on...
真的就这么简单 。


第二种:Powerpivot
现在很多小伙伴应该都已经是2016了吧,没有至少也是个2010?。?007的话就先用Vlookup吧 。我手头有2013版的office,要的留言好了 - 白菜价大甩卖
如果你的电脑工具栏上没有powerpivot , 先调出一下:
通过相同字段合并两个不同工作表的三种方法

确定之后就有了,首先在Sheet1中选择数据源,然后在powerpivot工具栏中点击-添加到数据模型:
通过相同字段合并两个不同工作表的三种方法

弹出对话框:
通过相同字段合并两个不同工作表的三种方法

直接确定吧 。可以看到弹出了powerpivot的一个表:
通过相同字段合并两个不同工作表的三种方法

这个可以先放一边,我们直接去sheet2,也根据Sheet1一样 , 这么操作一下,把sheet2给弄到这个powerpivot里面来 。这下两个表就都进来了 。
通过相同字段合并两个不同工作表的三种方法

接下来就是要两个表发生关系,就如同第一种方法一样,你总要把相同字段联系起来,这样才能重新组合 。所以方法如下:
点击设计 - 创建关系,弹出的对话框如下操作:
通过相同字段合并两个不同工作表的三种方法

确定即可 。回到主页,选择数据透视表下的扁平的数据透视表:
通过相同字段合并两个不同工作表的三种方法

弹出对话框,选择新工作表,点击确定即可:
通过相同字段合并两个不同工作表的三种方法

生成新的工作表长这样,也非常清楚了:
通过相同字段合并两个不同工作表的三种方法

根据之前的方法 , 将相应字段拉入到行中,但是会有个小问题,重复了好多好多 。。。
通过相同字段合并两个不同工作表的三种方法

很容易解决,随便拉一个字段到值计算中的就解决了 。
通过相同字段合并两个不同工作表的三种方法



第三种:Power Query
Power Query之前有跟大家介绍过,相当强悍,比数据透视表更强,鼠标点点点就可以实现很多以前需要VB才能实现的功能 。
打开数据选项卡 , 选择-自表格/区域,进入到Power Query编辑器界面如下:
通过相同字段合并两个不同工作表的三种方法

打开Power Query中左侧的查询,接下来就是把工作表2也弄进来 , 原理其实跟上面那个一样,左侧直接鼠标右键,选择:
通过相同字段合并两个不同工作表的三种方法

弹出对话框选择sheet2确定就可以了:
通过相同字段合并两个不同工作表的三种方法

回到power query中 , 将身份证转换成文本类型:
通过相同字段合并两个不同工作表的三种方法

回到表1中,选择合并查询下的将查询合并为新查询:
通过相同字段合并两个不同工作表的三种方法

弹出对话框 , 是不是有点似曾相识:
通过相同字段合并两个不同工作表的三种方法

操作如上,点击确定,生成如下:
通过相同字段合并两个不同工作表的三种方法

点击最后一列右上角图标:
通过相同字段合并两个不同工作表的三种方法

弹出对话框中,照此操作:
通过相同字段合并两个不同工作表的三种方法

确定之后即可:
通过相同字段合并两个不同工作表的三种方法

最后点击主页左上角的关闭并上载即可退出Power Query界面回到Excel工作表中,表格也自动生成了 。
通过相同字段合并两个不同工作表的三种方法

至此三种方法全部讲完 。


用上面三种方法比较方便的地方是:日后只要更新了原始表格,刷新一下,合并后的表格都会自动发生变化,而无须再重复操作了 , 还有一个就是运用了尤其是Power Query这种的表格体积比满满都是公式的表格要小很多 。


好了,如果本文对你有帮助,请分享给有需要的朋友或你的朋友圈 , 让大家一起交流学习,共同进步 。

相关经验推荐