Excel精英培训网

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

[已解决]函数优化

[复制链接]
发表于 2016-11-14 14:21 | 显示全部楼层 |阅读模式
表格中的函数查找功能运算速度比较慢;
希望哪位该收能优化一下,感激不尽! 工时定额.rar (297.03 KB, 下载次数: 5)
发表于 2016-11-14 14:56 | 显示全部楼层
整列引用难怪速度会很慢,看你的数据10000行左右,就引用9999行吧,比如你那个b:j可修改为B1:J9999,其它类同
回复

使用道具 举报

 楼主| 发表于 2016-11-14 15:24 | 显示全部楼层
tgydslr 发表于 2016-11-14 14:56
整列引用难怪速度会很慢,看你的数据10000行左右,就引用9999行吧,比如你那个b:j可修改为B1:J9999,其它 ...

感谢大师指点,改过来了,速度还是不理想;
不知道这个是否能用VBA编程完成!
回复

使用道具 举报

发表于 2016-11-14 16:03 | 显示全部楼层
不要用match数组查找,数据多肯定会卡;用加辅助列的办法,加vlookup也很快,不一定非要vba

用辅助列工时定额.zip

406.84 KB, 下载次数: 3

回复

使用道具 举报

发表于 2016-11-14 20:23 | 显示全部楼层
用lookup精确查找(二分法,减少查找次数)也可以,速度会快些
回复

使用道具 举报

 楼主| 发表于 2016-11-15 16:49 | 显示全部楼层
tgydslr 发表于 2016-11-14 20:23
用lookup精确查找(二分法,减少查找次数)也可以,速度会快些

大神给个公式啊!
回复

使用道具 举报

发表于 2016-11-15 17:06 | 显示全部楼层
  1. =LOOKUP(1,0/(($B2=定额!$B1:$B9999)*($C2=定额!$C1:$C9999)),定额!D1:D9999)
复制代码
回复

使用道具 举报

发表于 2016-11-15 17:08 | 显示全部楼层    本楼为最佳答案   
仅供参考。不要选择整列。不然运算速度非常慢的。

新建文件夹.zip

298.64 KB, 下载次数: 1

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 18:00 , Processed in 0.334192 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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