ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 41785|回复: 88

[分享+测试]替代Vlookup函数,在超大数据量下进行查找

[复制链接]

TA的精华主题

TA的得分主题

发表于 2005-11-23 10:12 | 显示全部楼层 |阅读模式

整理了一下原先的代码,做了一个可以链接多列的代码,数组+字典。表2里有多少列,就会对应链接到表1中,里面给了几个数据,大家可以加多数据测试。我在2万需查找和3万查找数据里(复杂数据),测试时间为4.5秒左右,数据结构简单则查询更快。结果与vlookup函数的结果一致。请大家测试,如测试中有问题,请上传附件说明,谢谢!

因为我经常会碰到超大数据的链接问题,故希望大家给这个小代码多多测试,好让我以后放心使用。

7xvLSCQV.rar (12.26 KB, 下载次数: 1405)



【提示】关于Microsoft Windows Script 技术对象之Dictionary对象说解

http://www.officefans.net/cdb/viewthread.php?tid=47628&fpage=1&highlight=dictionary

[此贴子已经被作者于2007-1-19 11:28:15编辑过]

TA的精华主题

TA的得分主题

发表于 2005-11-23 10:13 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-11-23 10:42 | 显示全部楼层
头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2005-11-23 10:48 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

TA的精华主题

TA的得分主题

发表于 2005-11-23 11:06 | 显示全部楼层

s = "" s = ds(arr(i, 1))

既然后面一句重新对s赋值,前一句是否有必要?在数据量多的时候,是否会影响效率?

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-11-23 11:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用清风_ll在2005-11-23 11:06:05的发言:

s = "" s = ds(arr(i, 1))

既然后面一句重新对s赋值,前一句是否有必要?在数据量多的时候,是否会影响效率?

好像没什么差异(我用复杂数据里试验的)。我试着改成了

s = ds(arr(i, 1)) If Len(s) Then

两个代码运行多次,基本一致,都是在那个时间范围里跳动。

头像被屏蔽

TA的精华主题

TA的得分主题

发表于 2005-11-23 11:33 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-11-23 12:34 | 显示全部楼层
以下是引用gpgpgp在2005-11-23 11:33:39的发言: 问题在4楼,范例中的数据查询该如何实现自我感觉没这个必要。如果你数据很多很多,你可以用这个链接之后,手工复制数据到你的相对应的原始数据里如果代码在这里还增加一个列链接的判断,我怕速度就慢了。

TA的精华主题

TA的得分主题

发表于 2005-11-23 13:37 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2005-11-23 14:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

下载保存,有空好好研究:) 另,可否不用循环,而直接用FIND。

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

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-16 23:41 , Processed in 0.047809 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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