百科问答小站 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插件速度会快很多。




  

相关话题

  作为程序员,我们应该更关注代码质量还是只需要以完成功能就好了? 
  突然意识自己曾经引以为豪的编程其实是一种工具,这是一种悲哀吗? 
  室友想抄我的代码,给还是不给? 
  微软的编程处于什么样的水平? 
  可以自学Python吗? 
  如何看待侯捷所说的「源码面前,了无秘密」? 
  如何通俗地解释 C、C++、C#、Java、JavaScript、HTML、Python的用处? 
  为什么很多大牛在写题的时候要加一堆宏? 
  有没有什么上古的程序代码至今依然没被更替? 
  大一学生想换 Linux 怎么样? 

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





© 2024-11-24 - tinynew.org. All Rights Reserved.
© 2024-11-24 - tinynew.org. 保留所有权利