ExcelVBA、PowerQuery、Access三种方法处理相同问题

您所在的位置:网站首页 excel数据核对的3种方法 ExcelVBA、PowerQuery、Access三种方法处理相同问题

ExcelVBA、PowerQuery、Access三种方法处理相同问题

2023-06-03 04:28| 来源: 网络整理| 查看: 265

网友需求:

一、为什么大家不信宇哥?Access处理

宇哥经常说,Access很强大,Excel太弱了。Access可以规范你的数据,Excel太随意了。我看到很多网友在嘲讽他?他说的有错吗?Excel在窗体设计上太拉垮了,在处理表关系上太弱了,有时即便是装配上M函数或DAX函数,同样不如Access简单。

相比有些人,经常告诉你,先建立一个筛选,然后我们再用另一个筛选覆盖它。所以Calculate是从外向内运算的。宇哥说的至少是实话,这些人在说梦话。你们想过没有,为什么要先建立一个筛选再用另一个筛选覆盖它?就好比种韭菜,需要肥料。用粪便怕有味道,于是用土盖上。难到只有这一种方法吗?这时他又出来跟你讲健康和化学。谁能保证自己吃的所有蔬菜水果粮食都是没用过化肥的?

我们要学别人的长处,补自己的短处,宇哥说Access好,我们就要证明它真的好。那些学计算机跟人家比口语,学厨师跟人家比身高。。。他们是怕你学会知识,让你用自己的长处对比别人的短处,这才是坏人呢。

我从来不推荐你们去买课,B站上的资源已经够大家入门了,但是,就事论事,宇哥说的对呀!

有如下两张表

Access教程:https://www.bilibili.com/video/BV1tf4y117Sh

1、导入Access

【外部数据】-【新数据源】-【从文件】-【Excel】

在【浏览】那里选你的文件,选择【通过创建链接表来到数据源】-【确定】

先选【表1】-【下一步】

勾选【第一行包含列标题】-【完成】

用同样的方法把【表2】也导入

2、做查询

点【创建】-【查询设计】

分别双击【表1】和【表2】,如果没有添加表这个项目,点击【设计】-【添加表】

鼠标点中红框,拉到绿框的位置松手,关系就建立了。(如果双击这条线就能看到默认是内联接关系)

分别双击表1的两个字段,下面就会显示出来

对着查询1选项卡,点鼠标右键,选保存

点【确定】

对着左边的【查询1】点右键,选择【导出】-【Excel】

选择保存到哪里,用什么后缀名。最后点确定。

打开你保存好的文件

全程一个代码都没写吧?用鼠标就都完成了。宇哥没骗你们吧?那些先建立一个筛选,再用另一个筛选覆盖这个筛选的才是搞笑的。Access是不是比Excel强大?你用ExcelVBA或工作表函数全程一个代码不写,也不复制人家的代码,讲出来试试。

二、ExcelVBA方法

ExcelVBA教程:https://www.bilibili.com/video/BV1rt4y1a72y

因为网友提问时说了,有上千个,用循环或数组操作肯定耗时,所以选择用ADO+SQL的方法

详见《ExcelVBA第二季》第21集

这里面你要改的就是,代码第7行,把你的文件地址改成你自己的。还有SQL语句根据自己情况写。

但是学习成就高了,里面不仅有ExcelVBA知识,还有SQL语句知识,还有ADO引用的知识。宇哥没骗大家吧?在不同的环境,我们可以选择适合的工具,节省更多的时间。

运行结果:

三、PowerQuery方法

PowerQuery教程:https://www.bilibili.com/video/BV1oa4y1j75e

1、将表1和表2导入PowerQuery。(导入表格的方法略,详见PowerQuery教程)

2、点【主页】~【合并查询】~【将查询合并为新查询】

3、执行顺序,按红蓝绿黑

先选表1和表2,然后选表1的姓名列,和表2的姓名列,选内部(仅限匹配行),点确定

4、对着表2字段点右键-【删除】

5、选中合并这张表,依次点【主页】-【关闭并上载】-【关闭并上载至】

这是结果:如果感觉顺序乱了,可以先对表1做索引列,最后排序并删除索引列

友情提示:PowerQuery上载的是超级表,如果你想恢复成原来的表格,对着绿白相间的表格点右键-表格-转换为区域

PowerQuery是在office2016及以后版本才内置的,2013版外挂不稳定,如果用WPS没有Access,你们PowerQuery同样没有。另外PowerQuery对电脑配置要求较高,四核+8G+固态已经是入门水平,机械硬盘打开新版office都很慢。反观Access对电脑配置要求相对低很多,即便是Access2010也能在E5300 2G  机械硬盘这样的环境下流畅运行。

PowerQuery达到100万行数据时,可能会卡到你怀疑人生,Access处理100万行、200万行数据太容易了。还有Python处理2G的csv或txt格式的数据(千万行以上)跟玩一样:)

都学肯定更好,否则建立按需学习!

更多教程:https://www.bilibili.com/read/cv10222110



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3