Excel精英培训网

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

[已解决]我的excel里大量使用了数组公式,怎么能加快速度呢

[复制链接]
发表于 2012-3-6 09:01 | 显示全部楼层 |阅读模式
我的excel里大量使用了数组公式,在sheet3的BZ3002到DM3014间,excel修改后保存特别慢,怎么能加快速度了。
比如用其他公式代替。。。先谢谢各位朋友了

最佳答案
2012-3-7 02:01
看了你的公式,建议有两种方法提升效率,最根本的就是用VBA,如果不想用,那么改变你的公式可以提升你的效率:
1、 将引用区域尽可能小,产生的数组也就小了,你有大量的整列引用,如'②Count Table'!$H:$H<>""改成'②Count Table'!$H$2:$H$10<>"",如果担心以后行数增加,那么也可以用OFFSET('②Count Table'!$H$2,0,0,counta('②Count Table'!$H:$H),1)<>"".
2、 自从2007版开始,增加了sumifs这些高效率的函数,比sumproduct的效率提升几倍,所以尽量使用SUMIFS、COUNTIFS 和 AVERAGEIFS 函数来取代数组公式,因为它们的计算速度快得多。
如果有兴趣,可以参考微软的性能提升方法http://msdn.microsoft.com/zh-cn/ ... x#xlArraySumProduct

EXCEL加速.rar

168.42 KB, 下载次数: 25

发表于 2012-3-6 09:16 | 显示全部楼层
如果您一定要用数组公式的话,建议您将“EXCEL选项”里的“公式”——“工作薄计算”——“自动重算”改为“手动重算”,速度可能会快一点,修改完你想要的公式后,按F9重算,保存,退出。{:712:}
回复

使用道具 举报

 楼主| 发表于 2012-3-6 09:39 | 显示全部楼层
我就是这样做的,怎么能从算法上改进呢。。。?
回复

使用道具 举报

发表于 2012-3-7 02:01 | 显示全部楼层    本楼为最佳答案   
看了你的公式,建议有两种方法提升效率,最根本的就是用VBA,如果不想用,那么改变你的公式可以提升你的效率:
1、 将引用区域尽可能小,产生的数组也就小了,你有大量的整列引用,如'②Count Table'!$H:$H<>""改成'②Count Table'!$H$2:$H$10<>"",如果担心以后行数增加,那么也可以用OFFSET('②Count Table'!$H$2,0,0,counta('②Count Table'!$H:$H),1)<>"".
2、 自从2007版开始,增加了sumifs这些高效率的函数,比sumproduct的效率提升几倍,所以尽量使用SUMIFS、COUNTIFS 和 AVERAGEIFS 函数来取代数组公式,因为它们的计算速度快得多。
如果有兴趣,可以参考微软的性能提升方法http://msdn.microsoft.com/zh-cn/ ... x#xlArraySumProduct
回复

使用道具 举报

发表于 2012-3-7 11:42 | 显示全部楼层
用辅助单元格,这样可以减少每次重算单元格数量和计算量
回复

使用道具 举报

 楼主| 发表于 2012-3-8 13:03 | 显示全部楼层
谢谢4楼的朋友了,我就该为sumifs的函数了。。。。
回复

使用道具 举报

发表于 2012-4-30 12:42 | 显示全部楼层
cbg2008 发表于 2012-3-7 02:01
看了你的公式,建议有两种方法提升效率,最根本的就是用VBA,如果不想用,那么改变你的公式可以提升你的效率 ...

学习           
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-6 18:26 , Processed in 0.416996 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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