ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 超难,如何用最快的速度查出15项相同的数据记录!

  [复制链接]

TA的精华主题

TA的得分主题

发表于 2013-5-3 16:16 | 显示全部楼层
lj1226189 发表于 2013-4-25 15:32
有朋友能在30秒内解决,但就是不肯给我看结果!做梦都想知道如何能在30秒内实现!

楼主现身吧。

现在已经很稳定地做到了 2秒以内完成。

你那个30秒的朋友弱爆了……可以不用理他了。

TA的精华主题

TA的得分主题

发表于 2013-5-3 17:37 | 显示全部楼层
两位比拼了好几天,可以说相差无几,可是,象下面的数据,要得到什么结果呢?
1.2        1.2                1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2
1.2        1.2        1.2        1.2        1.2        1.2                1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2
1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2                1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2
1.2        1.2                1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2        1.2

TA的精华主题

TA的得分主题

 楼主| 发表于 2013-5-3 21:13 | 显示全部楼层
     能惊动两位绝顶高手,真是倍感荣幸,两位大侠真是令我可望而不可及啊!ee1892 武功内力深不可测,不轻易出手,一出手就是惊天地泣鬼神;群子是成名已久的女侠,所到之处黑道无不闻风丧胆。

TA的精华主题

TA的得分主题

发表于 2013-5-4 08:44 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Zamyi 发表于 2013-5-3 17:37
两位比拼了好几天,可以说相差无几,可是,象下面的数据,要得到什么结果呢?
1.2        1.2                1.2        1.2        1.2        1.2        1 ...

你的例子是1 to m 行,每列中数值都是完全相同……

例如: 1 to 4 行,所有数值都是=1.2

…………
代码运行结果:
比较列        比较结果
1         2(19) 3(19) 4(19)
2         3(19) 4(19)
3         4(19)


…………
这个就是楼主问题的答案。

至于你想要得到什么结果,就不知道了。

TA的精华主题

TA的得分主题

发表于 2013-5-6 09:16 | 显示全部楼层
没看到楼主要求的结果。我理解为:在U列写出该行在其他行和其相同15个以上的监测点编号,而各位都是从该行以下找,自然快而少了很多。

TA的精华主题

TA的得分主题

发表于 2013-5-6 23:04 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
Zamyi 发表于 2013-5-6 09:16
没看到楼主要求的结果。我理解为:在U列写出该行在其他行和其相同15个以上的监测点编号,而各位都是从该行以 ...

理解应该是正确的。

最初的思路是双层遍历循环比对,需要时间为150秒以上。

后来算法改进,把比对对象数据先用字典整理为序号Long型数值,
这样采用双层遍历循环比对时,需要时间缩短到30多秒。

进一步的提速,当然就是各种提前剪枝算法了。

点评

剪得却不成型。  发表于 2013-5-7 08:29

TA的精华主题

TA的得分主题

发表于 2013-8-19 18:19 | 显示全部楼层
复杂度.PNG
突破0.7秒,香川厉害
数据结构.png
突破1秒.lee1892也厉害

都是高手啊.


TA的精华主题

TA的得分主题

发表于 2013-8-19 18:21 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
在我这里 全循环超慢,50秒+

TA的精华主题

TA的得分主题

发表于 2015-4-9 14:06 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2022-5-27 01:59 | 显示全部楼层
学习了一下香川老师的思路,不得不说长见识,数据类型也刚接触到,太神奇了。
对香川老师第一阶段的字典做了一下修改,第一阶段可以提升0.1-0.2秒,总体对比为:
原0.6-0.7提升至0.47-0.6。

水质检测.zip

1.78 MB, 下载次数: 5

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

本版积分规则

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

GMT+8, 2024-11-15 07:41 , Processed in 0.038092 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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