Excel中如何用SQL进行多工作簿汇总?

发布于2022-01-13 19:00:50
3个回答
admin
网友回答2022-01-13

需要用到VBA和数据库语言了。挺复杂的,不过现在有软件是自身集成了数据库的,本身就是做企业办公的,这样就很方便了。

就安利一下云表吧,原金山系WPS开发团队的作品,自身集成SQL数据库,多表汇总更是可以自动完成,工作简直不要太轻松。

数据库完全不用管了,自己创建一个本地应用就可以了。来说说汇总表格

举个我前几天学习的例子吧,月销售与报表统计

先看一个销售表,它是这个样子的

Excel中如何用SQL进行多工作簿汇总? 这已经和EXCEL不同了啊,一个页面上放了3个表,不可思议

Excel中如何用SQL进行多工作簿汇总? 这是把月份和销售额对外开放,让汇总报表可以*获取数据,从而实现自动生成。

Excel中如何用SQL进行多工作簿汇总?设计报表界面,任何数据都不需要手动填写,对“查询”按钮进行设计即可;

Excel中如何用SQL进行多工作簿汇总?实际使用,因为是我前几天学习做的,所以只有6月的数据,没有过多录入数据。当然不止销售报表,活学活用,很多类型的表格、领域都是可以使用的。

云表是免费软件(永久免费版本),教学视频也是免费的,一天就能学完,很简单、很快捷,注册还有专门的人电话回访答疑。

如果有兴趣可以了解一下云表,我也在用才来推荐的;

官方链接:https://www.iyunbiao.com/signup/TK4B20417



admin
网友回答2022-01-13

第一步:点击第一个表格,单击右键,查看代码

Excel中如何用SQL进行多工作簿汇总?

第二步:直接把编程复制进去,然后点击运行,运行子过程/用户窗体

Excel中如何用SQL进行多工作簿汇总?Excel中如何用SQL进行多工作簿汇总?

第三步,运行完毕,回到表一,已经合并完成。筛选出标题

Excel中如何用SQL进行多工作簿汇总?

Excel中如何用SQL进行多工作簿汇总?

Excel中如何用SQL进行多工作簿汇总?

第四步,选定除去第一列的多余标题,快捷键Ctrl+G&rarr——定位条件——选择可见单元格——确定——单击右键删除

Excel中如何用SQL进行多工作簿汇总?

Excel中如何用SQL进行多工作簿汇总?

最后释放出所有数据即可

Excel中如何用SQL进行多工作簿汇总?

数据合并之前

数据合并之后

admin
网友回答2022-01-13

对于经常使用Excel的人来说,在Excel中使用SQL能高效处理你的数据,但据我所知Excel中的SQL语法与MySQL数据的语法还有点不一样。现在我就来实例说明如何用SQL语句对多个工作簿进行汇总。假如我们要汇总如下三个工作簿

1. 学生信息表

Excel中如何用SQL进行多工作簿汇总?

2. 学生成绩表

3. 学生兴趣表

Excel中如何用SQL进行多工作簿汇总?

将这三个工作簿按相同学号进行合并,大致分如下几步:

1. 加载数据

在Excel中,依次点击:数据-自其它来源-来自Microsoft Query-Excel Files*

然后再找到你Excel表格的存放目录,如下图

Excel中如何用SQL进行多工作簿汇总?

点击下面你要加载的Excel数据表,进入下面页面

Excel中如何用SQL进行多工作簿汇总?

将上图可用的三张表都加入到右边查询结果中的列,加入完成后点击下一步,数据就加载完成了。

Excel中如何用SQL进行多工作簿汇总?

2. 编写SQL代码并执行

接下来点击上面的SQL按钮开始写SQL合并代码。单纯的合并代码如下

SELECT

tm.*,

tn.兴趣爱好 AS 兴趣爱好

FROM(

SELECT

ta.学号 AS 学号,

ta.姓名 AS 姓名,

ta.年龄 AS 年龄,

ta.性别 AS 性别,

ta.身高 AS 身高,

ta.出生地 AS 出生地,

tb.语文成绩 AS 语文成绩,

tb.数学成绩 AS 数学成绩

FROM(

SELECT

tt.学号 AS 学号,

tt.姓名 AS 姓名,

tt.年龄 AS 年龄,

tt.性别 AS 性别,

tt.身高 AS 身高,

tt.出生地 AS 出生地

FROM [学生基本信息表$] tt

)ta

INNER JOIN(

SELECT

tt.学号 AS 学号,

tt.语文成绩 AS 语文成绩,

tt.数学成绩 AS 数学成绩

FROM [学生成绩表$] tt

)tb

ON ta.学号=tb.学号

)tm

INNER JOIN(

SELECT

tt.学号 AS 学号,

tt.兴趣爱好 AS 兴趣爱好

FROM [学生兴趣表$] tt

)tn

ON tm.学号=tn.学号

将代码写好后复制放入文本框中,点击确定按钮,就开始执行SQL语句。结果如下

Excel中如何用SQL进行多工作簿汇总?

这样就完成了三个工作簿的数据合并,接下来将数据返回Excel表。

3. 返回数据到Excel表

点击左上角的文件-将数据返回Microsoft Excel,弹出如下页面

Excel中如何用SQL进行多工作簿汇总?

选择数据的存放位置为新工作表,然后点击确定即可,最终得到如下数据表

Excel中如何用SQL进行多工作簿汇总?

这样就完成了三个工作簿的数据合并。


Tips:

1. 由于Excel中执行SQL语句时没有比较详细的报错信息,如果SQL代码语法有错误有可能执行会报错,这个问题可以上网查询或者直接在评论区问我。

2. 在Excel SQL中常用到的合并操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更复杂的需求都有一定的处理技巧。

回到
顶部