1234

ExcelHome技术论坛

用户名  找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

帖子
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: Long_III

【讨论,已总结40楼】超大数据下,Vlookup和Find的优劣

[复制链接]

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-25 16:30 | 显示全部楼层
以下是引用丸究阵引在2005-10-25 16:19:38的发言: Option Compare Text
好!就差这一句,谢谢大师指点!

TA的精华主题

TA的得分主题

发表于 2005-10-25 16:39 | 显示全部楼层
呵呵!第一次知道字符串也可进行比较,谢谢龙王的引领!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-25 16:45 | 显示全部楼层

代码的运行速度相当快,在我的复杂数据里也只用5秒,加上丸究阵引大师的那句之后,数据完全与vlookup一致(不考虑查找范围里有重复的情况)。代码基本就是14楼的样子。有时间得整理一下,做一个也可以适用多列的代码。foshan兄过奖了,我只是实际中碰到这个问题了,才来求救的,大家一起学习了!

再次谢谢UNARTHUR、丸究阵引!

TA的精华主题

TA的得分主题

发表于 2005-10-25 22:31 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

我也写了一个lookup的代码,做在你1楼的附件里了(因为太大,数据只留了不到1万行)

觉得好难写呀,我差点就放弃了。还好最后还是写出来了,你测试一下速度怎么样喽

fAH0Gnn5.rar (285.73 KB, 下载次数: 29)

也不想优化了,太难了,特别对于找不到值时退出的条件,脑筋想破了才想出来这个方法。花了一晚上时间,费劲呀,再也不写这种代码了!

[此贴子已经被作者于2005-10-25 22:32:21编辑过]

TA的精华主题

TA的得分主题

发表于 2005-10-25 23:18 | 显示全部楼层
如果真是超大数据查询的话,是不是用SQL快点?

TA的精华主题

TA的得分主题

发表于 2005-10-26 09:12 | 显示全部楼层

还是公司机器好用,我24楼的代码又修改了一下,你1楼的数据大概用时1.3秒,请测试

gC1cPTU1.rar (267.44 KB, 下载次数: 70)

上传限制,附件原数据只截取了10000行

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-26 09:18 | 显示全部楼层

经过反复测试(两个代码的结果一致),UNARTHUR 兄的代码更快一些,在我复杂数据里运行的时间是代码还没有好好看,等做完dictionary的方法后会仔细阅读,再次谢谢UNARTHUR兄!

按更新后的代码重新测试了一遍,这次取了10组数据,相对之前快了0.05秒

[此贴子已经被作者于2005-10-26 9:29:13编辑过]

【讨论+测试】超大数据下,Vlookup和Find的优劣

【讨论+测试】超大数据下,Vlookup和Find的优劣
GuTa0Sve.jpg

TA的精华主题

TA的得分主题

发表于 2005-10-26 09:56 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-26 09:56 | 显示全部楼层

试了一下dictionary方法,但是速度实在太慢了,1000行都需要计算23秒。代码如附件,不知是不是我代码写的不好,请大家看看 cMdo8eLJ.txt (1.03 KB, 下载次数: 19)

如果单独改一句为Xarr(i, 0) = 1 'Sd.Items(CStr(arr1(i, 1))),整个数据运行下来才要0.5秒,我感觉应该是“字典”也有一个查找的过程(Sd.Items(CStr(arr1(i, 1))))且查找的速度还不是很快,请高手指点!

TA的精华主题

TA的得分主题

 楼主| 发表于 2005-10-26 09:57 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
以下是引用来生缘在2005-10-25 23:18:40的发言: 如果真是超大数据查询的话,是不是用SQL快点?
不知兄台能否大致做个例子看看?SQL我还不会
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

1234

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

GMT+8, 2025-4-20 02:27 , Processed in 0.038580 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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