Excel高效绝技之二——Access神助攻比对数据

Excel高效绝技之二——Access神助攻比对数据

问题背景:(接上集话说,小三匆匆忙忙做完领导需要的数据,就去陪女朋友了,由于太激动跑得急,竟然没有发给领导。在小三悠闲的看完电影出来,就发现了一件非常恐怖的事情,满屏的未接电话,全是领导打来的。小三立马回电,得到的是劈头盖脸的一顿骂,因为数据没交给领导,这下麻烦大了,会不会被炒。小三也来不及多想,幸好善解人意的女朋友,拉着小三赶紧回家给领导做好数据。小三又气又急,看着数据两眼冒花,根本没有效率,这时,女朋友提醒他,可否试试数据库的方式。咦,好想法。

数据库有很多,如SQL Server,Mysql,Oracle等等,这些都是需要专业的技术才能驾驭,数据库本身规模庞大,操作难度高,搭建环境也不容易。对于一般的办公数据处理,需要用到数据库也就是借用数据库可以灵活编写SQL语句来实现数据查询和处理,较Excel更灵活自由,而并非数据库的数据存储功能。那么,一个简易的数据库,只要能实现SQL语句就好了,最好的选择就是Office套件的Access。

Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点,是Microsoft Office 的系统程序之一。Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门。

Access的用途体现在两个方面:

一、用来进行数据分析:Access有强大的数据处理、统计分析能力,利用Access的查询功能,可以方便地进行各类汇总、平均等统计。并可灵活设置统计的条件。比如在统计分析上万条记录、十几万条记录及以上的数据时速度快且操作方便,这一点是Excel无法与之相比的。会用Access,提高了工作效率和工作能力。

二、用来开发软件:其最大的优点是:易学!非计算机专业的人员,也能学会。

于是,小三开始神操作紧急自救。

步骤一:创建Access数据库,导入两张表到Access。开始创建空白数据库。

步骤二:导入两张表的数据。右键单击表导入Excel,根据向导提示导入数据,基本都默认选项设置即可。先导入2020年小车1-4月销量表。

同样的方式导入表二2020年小车5月销量表。

步骤三:编写SQL语句,查询并处理数据,让两表结合输出需要的数据。

1.创建-查询设计,选中两张表添加;

2.切换为SQL视图,对“查询”选项卡点右键,选择SQL视图;

3.编写SQL查询语句并执行,一键完成所有数据整合。还能自动匹配关联,不存在的车型表格自动空出,不再需要像Excel里面,手工一条条对齐关联;

接下来就好办了,全选数据,复制到Excel,去掉不要的列或数据,轻轻松松3分钟搞定,领导都惊呆了,说明天非得跟着小三学学这么神奇的技术,小三顿时感觉不妙……。

究竟有啥不妙,且听下回分解。

代码样例:

select [sheet1.序号],[sheet1.车型],[sheet1.所属厂商],[1月销量],[2月销量],[3月销量],[4月销量],[sheet2.车型],[5月销量]

FROM Sheet1 left join Sheet2 on sheet1.车型=sheet2.车型

union

select [sheet1.序号],[sheet1.车型],[sheet1.所属厂商],[1月销量],[2月销量],[3月销量],[4月销量],[sheet2.车型],[5月销量]

FROM Sheet1 right join Sheet2 on sheet1.车型=sheet2.车型

代码释义:

3.1.select……form……:表示查询xx字段数据来自xx表。

3.2.left join:左连接,从左表sheet1查询输出所有的行,即使在右表sheet2中没有匹配的行。right join则相反,输出右表所有行,即使左表没有。用到左右连接,目的就是把表1和表2的所有数据输出,避免遗漏表1有而表2没有,或者表2有而表1没有的数据,用union把所有数据合起来输出。(专业的数据库知识,没有基础就硬记,代码能用就行)

3.3.sheet1.车型=sheet2.车型:目的是把两个表用共同点关联起来,让同一款车型的数据在一行,不出现车型和数据错位不对应,正如Excel里,使两个表的车型字段排序一致,并且判断同一行的车型是否一致。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200704A06WBN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券