昨天已经针对Excel文件打开为什么很慢的原因做了详细的分析,从四个方面开始整理,一般情况下,经过以下四个步骤整理后,都可以改善Excel打开速度变慢的问题,但是,只是解决了Excel打开文件慢的问题,还没有解决Excel打开后,运行慢的问题,所以今天古老师继续分析Excel文件运行慢的原因,以及如何改善的方法。
一般情况下,Excel打开运算速度慢的原因都是因为运算量太大造成的。所以才会出现下方的计算提示:“正在计算(8个线程):6%”这样的进度。有时候这个进度可能会持续好几十秒。甚至好几分钟。而且在计算过程中,Excel会有一种“假死”的状态。
解决打开Excel后,运行慢的问题,先解决Excel公式运算的问题。一般来说从以下几个方向作改善。在改善这个方向前需要把打开慢的几个问题(空行、格式、颜色等)一并检查后,再改善以下问题。
手动运算
在不改公式的情况下,需要提升Excel的速度,有一个方法就是不让Excel运算公式,这种情况适合只需要看数据的时候,同时公式的结果运算不需要实时显示的。当设置Excel公式的运算模式为手动后,就不会出现运算进度条了,只有在用户需要运算的时候才会出现。
设置的方法:公式→计算选项→勾选手动;就更改为手动运算模式了,如需要运算,勾选自动,或者按快捷键“F9”即可运算。
如果需要经常切换,可以分别把“自动、手动”弹右键进行设置,设为快速访问工具栏上面,这样需要切换的时候,可以用鼠标分别点对应的运算选项即可。
高效公式
公式运算的时候,一般情况下,引用范围越大,计算速度越慢,所以我们在写公式的话,尽量不要选中整列、整行来作为公式的引用范围,这样相当于把一整列一起运算,大家要知道的是,一列如A:A,和A1:A100,两者的运算量,一个是第1048576个单元格,一个是100个单元格。运算量可想而知。所以想要运算快的话,从以下几个方向检查公式:
引用范围:
非必要,不引用整行或整列,如确实需要做动态引用的话,可以先预留公式的引用范围。如后续有数据更新的话,最大行数为5000行的,可以把A:A更改为A1:A5000,并进行对应的锁定关系。如:=$A$1:$A$5000,表示绝对引用;
优化公式:
很多时候,需要解决一类问题的时候,用公式计算的话,方法可能不只一种,用一些运算程度快的函数和一些运算速度慢的函数,效率相差非常大。举例说明:数据量20000行,我们需要判断A列每一个料号的升序出现次数,出现1次,出现2次……,这样的效果,如下图
如果用公式1=COUNTIFS($A$2:A2,A2),向下填充 运算需要20秒,20000行,用公式2:=IF(A1A2,1,B1+1),速度只需要1秒,但是效果是一样的。
所以当出现Excel运算慢的时候,特别要检查Excel报表中有没有这个几个公式:SUMIFS、COUNTIFS等,这些公式如果引用的行数特别多的情况下,保证速度非常慢,所以行数特别多的情况下,建议直接用数据透视表。不要做公式引用。
去除公式
解决Excel运算的最高效办法就是把所有公式去除,变成值,但是这样也会把所有公式的算法去除excel打开慢,还有一个折中的办法就是保底公式的第一行,当数据量非常大的情况下,保底公式的第一行,第一行下面的全部公式粘贴成数值,当需要运算的时候,再把第一行的公式向下填充就可以了,虽然麻烦了一点,但是又保留了公式,同时也兼顾了运算速度。所以古老师很多报表都是用这个方法的。
升级版本
公式运算中,很多时候会用到多层嵌套,如果能够升级到OFFICE高版本的话,一些需要多层嵌套的函数,只需要一个函数就解决了,这样无形中也是加快了运算速度,
例如:删除重复项:
=INDEX(A:A,SMALL(IF(MATCH(A$1:A$32,A:A,)=ROW($1:$32),ROW($1:$32),99),ROW(A2)))&””
=UNIQUE(A2:A32)
所以,如果用新版本的函数,会发现整体代码少了excel打开慢,运算速度也快了,推荐以下新函数:
筛选函数:FILTER
排序函数:SORT、SORTBY
合并函数:VSTACK、HSTACK
文本函数:TEXTAFTER、TEXTBEFORE、TEXTJOIN、TEXTSPLIT
数字函数:SEQUENCE,超级推荐,配合INDEX非常好用
转换函数:TOCOL、TOROW,相当于转置
去除函数:DROP
保留函数:TAKE
自定函数:LAMBDA 可以把复杂的函数变成自定义函数
引用函数:XLOOKUP
……
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
1、本站资源针对会员完全免费,站点中所有资源大部分为投稿作者付费教程,切勿轻易添加教程上除本站信息外的任何联系方式,谨防被割,如有疑问请随时联系客服。
2、本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。