Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4507|回复: 5

请教提高vlookup效率的方法

[复制链接]
发表于 2020-6-7 19:18 | 显示全部楼层 |阅读模式
1学分
请教下,场景如下:A表只有一个,B表有多个(每个表都有几十万行)
把A表的数据匹配到B表,使用宏录制的代码是这样的 ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-2],[余额表.xlsx]Sheet1!C[-18],1,0)"
    Selection.AutoFill Destination:=Range("S2:S200001")

以上宏运行实在太慢了。

所以请问如果是用数据库aceess来执行匹配,代码怎么改?或者有其他方法能比vlookup更快也行。

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2020-6-7 20:55 | 显示全部楼层
你这不是宏运行的太慢,而是利用宏输入的公式太多运算量太大造成的。
回复

使用道具 举报

发表于 2020-6-7 21:46 | 显示全部楼层
1) 公式的角度 , A表升序排列 , 结合模糊查找 效率会完全不同

2) 用宏的话 , 搜一下 "Vba 字典"
回复

使用道具 举报

 楼主| 发表于 2020-6-8 11:43 | 显示全部楼层
金樽空对月 发表于 2020-6-7 20:55
你这不是宏运行的太慢,而是利用宏输入的公式太多运算量太大造成的。

已经删了很多无用的,还是慢
回复

使用道具 举报

 楼主| 发表于 2020-6-8 11:50 | 显示全部楼层
砂海 发表于 2020-6-7 21:46
1) 公式的角度 , A表升序排列 , 结合模糊查找 效率会完全不同

2) 用宏的话 , 搜一下 "Vba 字典"

1.工作需要精确查询
2.字典我再研究研究
回复

使用道具 举报

发表于 2020-6-8 12:27 | 显示全部楼层
本帖最后由 砂海 于 2020-6-8 12:30 编辑
18651660635 发表于 2020-6-8 11:50
1.工作需要精确查询
2.字典我再研究研究

模糊查找  + 判断 是否相同 , 还是实现精确查找.
但速度完全不同 ,
假设查找目标在第 2万行
精确查找 需要  20000 次  (2万次)
模糊查找 需要        15 次 ( 30次=15*2)    ( 不使用辅助单元格 直接得到结果 , 需要再进行一次模糊查找)

不过 ,本题 ,字典正解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-28 20:39 , Processed in 0.363233 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表