百科问答小站 logo
百科问答小站 font logo



养成哪些好习惯能让 Excel 运行更快? 第1页

  

user avatar   lee-sam-60 网友的相关建议: 
      

1. Vlookup应该是新手最常遇到的速度变慢问题。一般原因是在需要反复vlookup时直接手动往下拖。这样你每搜索一次都需要把整个搜寻区域复制一遍,然后传输到另个计算模块中,哪怕每次搜索的区域都是一样的。要避免这个问题的最简的办法就是用Ctrl+Shift+ 回车快捷键,可一次性搜索多个结果。具体方法是:选中你要输出的整个区域,然后在公式栏输入 =vlookup(选中整个你要搜索的数据区域,选中整个要被搜索的区域,后面的参数和平时一样不变),然后不要按回车,而是按Ctrl + Shift + 回车。 过两天我会上图详解。

2. 动态方程。有些方程,只要你的表格任何的地方发生改变,它都会被重新算一次,被称之为动态方程。常见的有today(), offset等。如果此时你有什么复杂的计算需用到这些方程的计算结果,那些计算也会被重新算。不到万不得已千万不要用这些方程。

3. 把Excel当数据库用。大量的原始数据和中间计算结果直接存在表格里,一开始用的方便,数据量一大就是SB了。我们公司一个老交易员的Excel表格有250MB. 打开表格要1分钟。这个问题并没有什么简的解决办法。最好的作法当然是把数据储存交给专业语言如sql,但一般初学者要搞这个还是太麻烦。我的建议是当你的数据达到100MB的时候,恭喜你,你处理的工作已经开始有点复杂了,去学门专业的编程语言吧。建议的顺序是:VBA, MATLAB, SQL.

4. 计算没有调成手动。表格大,关联度复杂的时候,经常牵一发而动全身,导致修改时异常痛苦。把计算模式改成手动,这样等改完了只用算一次就行了。

5. VBA代码反复读取数据。这也是个新手常见问题,有些入门级的VBA教材还直接这样教,害人不浅。最常见的案例是,要处理一个表格,比如把每个行加起来,写VBA代码时,算完一行输出一行,再读取下一行的数据。。。一定要记住,表格与VBA之间的沟通非常非常非慢,VBA内自己的数据读取调整非常非常快,因此若干要处理一个表格,一定要先把整个表格读进去,在里面处理完了一次性输出。

6. 我的经验是,如果是需要反复使用的表格,能用VBA实现的,则尽量避开在表格内使用公式。例如,你做了一个界面,显示某个表格的第N列的数据,N由用户决定。有的人在输出区域直接写上公式。我一般是做个按钮,点完以后通过VBA把用户要的结果抄过来。这样不仅块,而且可控,不会出现公式人不小心删了之类的鬼事。 我总觉得若长期坚持用表格内公式而避开VBA容易走上邪路。我们公司有位分析师就这样,写表格内公式已经写成神了,公式动不动就要写3、4行!各种INDEX MATCH 叠在一起,看上去像天书。

7. 复杂点的数据计算还是别强求VBA了吧。用其他语言写个dll插件速度会快很多。




  

相关话题

  递归和循环相比耗费更多的空间,对于循环来说除了可以简化逻辑外还有什么优点吗? 
  被家长逼学编程,虽然知道这个东西不错,但就是十分厌恶,怎么办? 
  大一学生对区块链感兴趣,应该打好哪些基础? 
  能用电脑模拟计划生育后人口的变化吗? 
  为什么 .NET 平台在技术上远强过 Java,而多数大公司却仍采用后者? 
  数学系为什么有那么多编程课程任务? 
  软件外包价格如何计算? 
  vscode是用什么语言写出来的?为什么华为能做出鸿蒙系统,却开发不出类似vscode的开发工具? 
  英语好对软件开发好处不大,对吗? 
  如何看待谷歌工程师透露谷歌有20亿行代码,相当于写40遍Windows? 

前一个讨论
恋爱六年以上最后还是分手是种怎样的体验?
下一个讨论
50年代的美国政治体制成熟,为何还会有会麦卡锡这样的人兴风作浪?





© 2024-09-27 - tinynew.org. All Rights Reserved.
© 2024-09-27 - tinynew.org. 保留所有权利