Excel精英培训网

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

[已解决]INDEX语句转换成VBA

[复制链接]
发表于 2016-11-17 11:25 | 显示全部楼层 |阅读模式
老板突然间要统计数据,顺手就扔来一个表,说该表卡得要死。我只能尽量变成VBA代码,有些以下2列,我未想到如何写更好,请老师帮下忙。

复杂点的:
公式为N2=IFERROR(INDEX(录入表'!P:P,MATCH($B2,'2录入表'!A:A,0)),0)
这个公式是老板不知在那里找来的,我也看不明白,如果有老师看得明白就按此给个VBA代码我,不明白的话,请看下一个框框。

简单点的:
如果上面数据太复杂的话,换个角度,我估计是以下的意思。
1.统计表中的B列为条件(B列数据是不变的)
2.在录入表中A列中找到符合的数据,并将P列返回到统计表的N列中
3.如果不符合数据,则直接显示为0

4.统计表的0列与N列效果雷同

最重要的地方,就是统计表的B列实际上很长的,保守估计在1万至3万行之间,不转成VBA就卡死电脑了。

详见附件

最佳答案
2016-11-17 14:26
请看附件。

index.zip

11.39 KB, 下载次数: 10

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-11-17 13:06 | 显示全部楼层
回复

使用道具 举报

发表于 2016-11-17 13:24 | 显示全部楼层
写公式尽量不要引用整列,你数据最多三万,那引用区域你就写到三万好了,07以上一列一百多万行,这样无形中增加了运算量,不卡才怪呢?不过如果数据上万用什么公式都会卡吧,只是如果习惯好可能会卡得好点。
回复

使用道具 举报

发表于 2016-11-17 14:10 | 显示全部楼层
而且你这个可以用VLOOKUP吧,可能用V比这套组合要快点
  1. =VLOOKUP(B2,录入表!A:P,16,)
复制代码
,当然实际写公式时还是不建议整列引用
回复

使用道具 举报

发表于 2016-11-17 14:11 | 显示全部楼层
就这个公式,应该不会太卡吧,建议你老板换新电脑,配置大概这样:cpu  i7  3.0G以上,内存8G以上,固态硬盘,独显8G以上,试试运行还卡吗
回复

使用道具 举报

发表于 2016-11-17 14:26 | 显示全部楼层    本楼为最佳答案   
请看附件。

index.rar

19.75 KB, 下载次数: 21

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-20 01:03 , Processed in 0.330507 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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