公式太多Excel太慢,这一招就能帮你解决!

你的Excel文件慢的不能忍受!不仅仅是打开时慢,保存时也慢,就是随便输入一个数值,也慢的要命!

别着急,可能一个很简单的改变就可以让你的文件快如闪电

01

真实的文件

这是一个进行会员管理的Excel文件,数据包括4000多条会员记录,6000多条业务记录,以及几十条的基础资料。

这个文件只有10M多。里面的数据只有几千条。但是速度却非常慢。

打开 — 文件完全打开需要90多秒
保存 — 需要60多秒
修改—  需要30多秒

看看下面的动图,感受一下修改数据时的时间

重点看下方工具栏 的CPU进程。

回归线经验:一个正常的表格,这里基本上应该一闪而过。

这只是修改了一个数据,如果需要修改多个数据的话,可以说这个Excel文件基本不可用了!

02

问题分析

首先,显然文件并不大,数据也不多,因此不太可能是因为数据量造成的运算慢。
回归线经验:在实际中,很少有数据太多造成的速度慢。数据太多顶多是打开文件时慢一点。
再来看公式
这个文件只用了不多的几个公式:
  1. 在会员资料表中,根据会员入会时间判断是否到期的IF公式

    =IF([@到期时间]>NOW(),"在会","到期")

  2. 判断会员年龄的日期函数

  3. 业务记录表中根据会员姓名在会员资料表中查找入会馆和会员编号的两个vlookup公式

    =VLOOKUP([@姓名],会员资料,2,0)

这里就要注意了。IF函数一般不会造成计算的瓶颈,Vlookup会。(至于为什么,这里就不详细展开了)。

03

实验

为了验证我们的猜想,可以做一个实验,将这两个函数粘贴成数值,再执行各种操作,会发现速度飞快。可以确定就是这两个公式造成的。

04

解决方法

当然,实际上你可以通过将“公式”菜单中的计算选项设为“手动”来解决这个问题。见下图:

但是这是一个治标不治本的问题。而且,由于实际上其他公式还需要实时的看到结果(比如是否到期,是否享受某些政策等),所以在实际上不能这么设。

我们可以这么做,

  1. 将会员资料表按照“姓名”列升序排序

  2. 将业务记录表中的“入会馆”和“会员编号”列的vlookup函数最后一个参数改为“1”

    =VLOOKUP([@姓名],会员资料,2,1)

再试一下,不管是修改还是保存,速度都飞快。(关于vlookup函数的最后一个参数的使用,请大家阅读本公众号里关于vlookup的文章)。

05

总结

很多时候我们的表计算慢,都是公式造成的。很多情况下,是由于Vlookup造成的。此时,采用这个方法,往往能够显著的改进计算速度。
实际上,如果更加巧妙的使用公式,速度提升可能是数百倍甚至上千倍。关于为什么公式造成了计算慢,怎么使用公式才能提高速度,我们会在后面的相关文章中详细讲解,敬请期待!

END

在看的,麻烦点一下再走好吗
(0)

相关推荐