Excel精英培训网

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

[已解决]2000万级别的数据处理,求解决方案。

[复制链接]
发表于 2013-6-26 21:29 | 显示全部楼层 |阅读模式
本帖最后由 willtools 于 2013-6-27 14:21 编辑

A表:2000条数据
B表:20000条数据
两个表要做类似vlookup的操作,需要返回多条记录。

目前用2个for循环来做遍历。
问题来了,数据很慢。
求方法。
TEMP.part1.rar (500 KB, 下载次数: 16)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2013-6-26 22:02 | 显示全部楼层
上附件,20000条应该慢不到哪里去。
回复

使用道具 举报

发表于 2013-6-27 00:02 | 显示全部楼层
VBA写入数组进行处理,不会慢。用字典更加快
回复

使用道具 举报

 楼主| 发表于 2013-6-27 14:21 | 显示全部楼层
大灰狼1976 发表于 2013-6-26 22:02
上附件,20000条应该慢不到哪里去。

附件已经上了,请查看。
回复

使用道具 举报

 楼主| 发表于 2013-6-27 14:22 | 显示全部楼层
隐身 发表于 2013-6-27 00:02
VBA写入数组进行处理,不会慢。用字典更加快

能不能详细讲解一下?附件我已经上了。
回复

使用道具 举报

发表于 2013-6-27 15:42 | 显示全部楼层
我怎么就不大明白“2、1112表H列,去vlookup1104表A列。”这句什么意思,我一般不用公式。
是不是说:根据1112表H列,在1104表的H列找到相同的数据,再返回对应A列的值?
回复

使用道具 举报

 楼主| 发表于 2013-6-27 16:08 | 显示全部楼层
大灰狼1976 发表于 2013-6-27 15:42
我怎么就不大明白“2、1112表H列,去vlookup1104表A列。”这句什么意思,我一般不用公式。
是不是说:根据 ...

比如:
1112表中H列当前的值:L9400001,去找1104表中A列中相同的。
如果找到了,把1104找到的整行,插入1112当前值下面。

next运算1112下个循环。

想了2天了,头痛。
回复

使用道具 举报

 楼主| 发表于 2013-6-27 16:09 | 显示全部楼层
中午吃饭一个小时,程序还没跑好。太慢了。
回复

使用道具 举报

发表于 2013-6-27 17:00 | 显示全部楼层
44.17969秒,能不能接受,可以的话我发上来
回复

使用道具 举报

 楼主| 发表于 2013-6-27 18:41 | 显示全部楼层
大灰狼1976 发表于 2013-6-27 17:00
44.17969秒,能不能接受,可以的话我发上来

太好了,当然能接受咯。
发给我看看吧。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 07:21 , Processed in 0.402983 second(s), 13 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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