excel数据处理:跨表提取数据不⽤函数能做得更好
编按:跨表提取数据很多伙伴第⼀反应就是函数如VLOOKUP,或者什么INDEX+SMALL+IF万⾦油公式。其实,如果提取的是多列数据,有⼀个被很多⼈丢在旮旯⾥许久许久的Microsoft Query才是王者!它不但操作简易,轻易解决“⼀对多”,⽽且它⽣成的结果表可以与数据源形成动态链接,数据源变化了,结果也会动态更新!
今天给⼤家分享⼀个很少⼈⽤但有奇效的功能---Microsoft Query来帮助⼤家解决两个表格“⼀对多”的数据提取,或者说解决⽤⼀个表去匹配另⼀个表⽣成特定数据的做法。
如下图所⽰,同⼀个⼯作簿⾥有两个⼯作表,“部门⼈员信息表”列出了各部门的员⼯姓名和对应的主管,“省份销售数据表”列出了每个员⼯负责的多个省份以及对应省份的三个⽉销售数据。现在要求把两个表根据姓名这列汇总到⼀个表⾥。
函数我们就不⽤了。在9⽉初的《打败查函数,pq合并查询⼀次搞定多表匹配》中,Power Query就打败了函数实现多表匹配。这次Microsoft Query操作更简单,甩函数⼏条街~~~~~~
那使⽤Microsoft Query如何操作呢?
STEP 01启⽤Microsoft Query并加载数据
(1)新建⼀个⼯作簿,点击【数据】选项卡下【获取外部数据】组⾥“⾃其他来源”下拉菜单的“来⾃Microsoft Query”。在【选择数据源】窗⼝“数据库”选项下点击“Excel Files”,勾选下⽅的“使⽤[查询向导]创建/编辑查询” ,点击确定。
在【选择⼯作簿】窗⼝右侧⽬录⾥到数据源所在的位置,在左侧数据库名到⽂件,点击确定。
(2)有时系统会提⽰如下窗⼝:“数据源中没有包含可见的表格”,这个不⽤管,点击确定。
进⼊下⽅左侧的【查询向导】窗⼝,点击下⾯的“选项”按钮,打开右侧【表选项】窗⼝,勾选“系统表”点击确定。
这样【查询向导】窗⼝就会出现数据源⾥的⼯作表了。这是由于Excel把⾃⼰的⼯作表叫做“系统表”,勾选了之后在查询窗⼝就能看到了。
接下来选中两个⼯作表分别点击中间的“>”按钮把左侧的“可⽤的表和列”添加到右侧的“查询结果中的列”,点击下⼀步。
这时⼜会弹出⼀个窗⼝,提⽰““查询向导”⽆法继续,因为该表格⽆法链接到您的查询中。您必须在Microsoft Query中的表格之间拖动字段,⼈⼯链接。”这个也不⽤管,点击确定。
STEP02 按需要项匹配数据
此时我们就进⼊Microsoft Query窗⼝,上⽅是类似EXCEL的菜单栏,中间是表区域,显⽰了当前我们添加的两个表以及对应的字段。下⽅的数据区域就是融合了两个表的结果。
这时候数据区域的结果是杂乱⽆章的,原因是我们没有给两个表添加关系。两个表⾥是通过姓名列来⼀⼀对应的。
(1)⽤⿏标选中左边“部门⼈员信息表”中的“姓名”,将其拖曳到右表“省份销售数据表”中的“姓名”上⾯,然后松开⿏标。这时在两个表的“姓名”字段之间出现了⼀条两端带有细⼩节点的联接线。下⽅数据区域就⽴即更新了。
(2)由于有两列相同的姓名,我们选中其中⼀列,点击菜单栏【记录】下⽅的“删除列”。
STEP 03 把结果数据返回到Excel⼯作表
最后要做的就是把结果返回到EXCEL。
(1)点击菜单栏“SQL”左侧的按钮,将数据返回到Excel。
(2)在EXCEL中出现【导⼊数据】窗⼝,我们选择显⽰为“表”,位置放置在现有⼯作表。
返回结果如下:多列vlookup函数的使用方法
到此简单的3步我们完成了需要的数据匹配,⽣成了新的数据表。
额外之喜:
我们发现Microsoft Query⽣成的数据就是⼀张超级表,也可以直接创建数据透视表或者数据透视图。
同时,这张表是和数据源动态链接的。⽐如我们修改⼀下原数据,点击保存关闭。
在返回结果上右键点击刷新。
这样数据就同步过来了。
运⽤条件:
需要注意的是,使⽤这种⽅法,必须要保证数据源的规范性。要求⼯作表不能存在与数据源⽆关的数据,并且表格第⼀⾏为列标题。如果要实现动态链接,那么⼯作簿和⼯作表的名字和位置不能修改。
怎么样,⼤家学会了吗?是否⽐PQ简单,⽐函数简单?
****部落窝教育-excel****
原创:部落窝教育(未经同意,请勿转载)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。