打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
多表连接,每个表结构、行列数都不一致,Excel 能行吗?

如何合并多个工作表?在表结构一致的情况下,可以用 indirect 函数,具体可参阅 Excel indirect 函数(3) – 多表合并不做计算

但是如果每个工作表的结构完全不同,行列数也不一致,唯一的关联就是每个表中至少有一列数据可以跟其他任意一个表的某列对应上,那就需要利用这些关联的列,把所有表连接成一张总表。

如果用函数解决会非常繁琐,比如使用多次 vlookup。

如果会 SQL 的同学对这个需求肯定异常淡定,因为 SQL 中有专门用于表连接的的 join 语句。

那么 Excel 中是否有类似 join 这样的功能呢?如果不用 SQL,有其他简单的方法吗?

答案当然是有,而且完全不需要自己写语句,只要选择下拉选项就能实现。下拉菜单中的所有选项功能,其实就是仿照了 SQL 的几种 join 类型。

案例:

下图 1、2、3 的数据表分别在三个不同的工作簿中,请将这三张表连接成一张总表,并且将全年级的成绩由高到低排列,效果如下图 4 所示。

下图 5 是上面这段文字的总结。

解决方案:

这三个工作簿分别以如下名称存放在同一目录下,接下来我们就开始合并。

1. 新建并打开一个用于存放最终结果的“总表”文件 --> 选择菜单栏的“数据”-->“新建查询”-->“从文件”-->“从工作簿”

2. 从导航器中选择需要导入的文件 --> 选择数据表所在的工作表 --> 点击“加载”

3. 用相同的方式依次将三个数据表都导入到 Power Query 中。

总表中会出现三个新的工作表,其中分别是刚才导入的三个数据表。

双击右侧的“工作簿查询”区域的任何表格,进入 Power Query 编辑器。

4. 在 Power Query 中,点击左侧“查询”上方的箭头符号,展开导航窗格。

5. 选中 Sheet1 --> 选择菜单栏的“主页”-->“将第一行用作标题”

6. 选中 Sheet1 (2) --> 选择菜单栏的“主页”-->“将第一行用作标题”

7. 选中 Sheet1 --> 选择菜单栏的“主页”-->“合并查询”

8. 在弹出的对话框中进行如下设置 --> 点击“确定”:

  • 选中 Sheet1 的“班级”列

  • 从下拉菜单中选择 Sheet1 (2)

  • 选中 Sheet1 (2) 的“班级”列

  • 在“联接种类”中选择“完全外部(两者中的所有行)”

9. 点击 Sheet1 (2) 右边的展开按钮 --> 点击“确定”

10. 再次选择菜单栏的“主页”-->“合并查询”

11. 在弹出的对话框中进行如下设置 --> 点击“确定”:

  • 选中“Sheet1 (2)姓名”列

  • 从下拉菜单中选择 Sheet1 (3)

  • 选中 Sheet1 (3) 的“姓名”列

  • 在“联接种类”中选择“完全外部(两者中的所有行)”

12. 点击 Sheet1 (3) 右边的展开按钮 --> 点击“确定”

13. 删除重复的“班级”和“姓名”列

14. 重命名合并进来的两列名称

15. 选中“模拟考总分”列 --> 选择菜单栏的“主页”-->“降序”

16. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载”

大功告成。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel中多个工作簿之间数据的合并计算
从几百个Excel中查找数据,用Python一分钟搞定
Excel工作表之SQL查询方法
UC头条:Excel 中的合并计算功能, 竟能替代数据透视表, 还能跨表汇总
power query要逆天,1句公式跨工作簿整合所有分表,轻松多表透视
如何跨 Excel 多个工作表求平均值?各数据表的行标题还不一致
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服