Excel 是运营人的高频办公工具,但很多人都觉得自己电脑的 Excel 很慢,影响自己的工作效率,搞不好还要加班!

今天给大家分析一下,Excel 为什么会“慢”?怎么才能让你的 Excel 快起来?

Excel 启动慢

启动慢的话,可能有多方面的原因,以下分别讲下:

插件加载

如果给 Excel 安装的插件太多,或一些插件“太重”,都会导致 Excel 启动慢!

Excel 在每次启动的时候,都会有个启动界面,如果你看到界面中写着“正在打开:XXX”,就表示正在加载某个插件。如果某个插件时间过长,就证明是插件加载导致 Excel 启动慢了。


Excel启动界面

解决方法:删除不必要的插件,按需要去手动启用不常用的插件。删除插件可以使用插件自身的卸载功能完成,如果是暂时禁用一些不常用的插件,可以先在COM 加载项、或Excel 加载项中取消勾选,当你有需要用到时再勾选它即可,功能在开发工具中,如图:


开发工具中管理加载项

如果你装了某些插件后,导致 Excel 根本无法正常启动;或者即使能进入 Excel,但无法取消勾选某些插件。这时你可以试试用安全模式启动 Excel,启动后再去操作取消勾选插件。

Excel 安全模式启动:先按住键盘的 Ctrl 键不放,再双击 Excel 程序图标或某个 Excel 文件的图标,然后就会有弹窗询问你,选【是】即可启动安全模式。

Excel安全模式

还有一个启动安全模式的办法,就是用系统的【运行】功能,按键盘上的Windows+R呼出运行窗口,然后输入excel -safe(注意-号前有一个空格)

打印机连接

当你的 Excel 设置了默认打印机后,Excel 每次启动时都会去尝试连接它。但是如果由于网络故障、驱动程序损坏、打印机更换或关机、电脑搬迁等等原因,此时 Excel 就会与默认打印机断开了连接。

但是 Excel 仍然每启动时都去连接的话,那就会导致 Excel 要一直尝试连接打印机,直到最后超时了才能连接上,所以就会导致启动慢。

解决方法:在 Excel 中可以更改默认打印机,建议更改为一些虚拟打印机,例如下图中的“Microsoft Print to PDF”就是虚拟的打印机了。或者如果你去修复网络等问题,确保可以正常与默认打印机的连接。


Excel默认打印机设置

浮动对象

”浮动对象“,就是指可以在工作表的单元格之上的内容,即一些可以自由移动的对象,例如:形状、文本框、图片、控件、图表、嵌入文件等

如果你从网站和其他应用程序中,复制内容并粘贴至 Excel 时,就容易会将一些隐藏对象粘贴到了 Excel 文件中,太多的浮动对象也会导致启动慢。

要确定某个 Excel 文件中是否有浮动对象,可以打开“选择窗格”进行查看,快捷键是Alt+F10,“选择窗格”界面中就可以看到当前工作表中的形状列表,选择并删除不必要的形状就可以了。


选择窗格

如果要一次性清除当前工作表中的所有形状,请按Ctrl + G,选择“定位条件”,然后选择“对象”,即可选中所有的形状,最后按 ”Delete“ 就可以全部删除了。

01727

文件太大

确实因为文件中的数据太多,导致文件的 Size 很大,例如超过 20M,甚至上百 M 的文件,启动这些重量级文件当然会让 Excel 更慢!

优先建议用减少数据的方式来精简文件大小,例如把数据源和报表分离,或大报表拆分成多个小报表

如果文件还是很大的话,还有一个办法可以尝试:

把 Excel 文件另存为扩展名.xlsb格式进行保存,保存后文件会马上变小一些,实现一秒瘦身!而且使用这种二进制格式保存文件,加载时间也会更快,这种格式文件还可以存储 VBA 代码的,和.xlsx 在日常使用上并无区别。

但要注意 wps 中无法打开 xlsb 文件,或者这种格式一般无法上传到公司的系统中。

以上这些情况,就是一些常见的启动慢的原因,逐步去排除,将可帮你解决 Excel 常见的启动慢问题。

Excel 计算响应慢

启动 Excel 后,进入到工作表里,有时会出现响应慢的问题,相信大家深有感受。我总结了一些常见原因,供大家参考:

跨工作簿引用公式

很多做商品的朋友,经常会有这种情况,例如商品档案表在一个文件,然后报表文件中是销售数据表,需要把商品的属性字段匹配过来,就经常用跨工作簿的公式。

也要检查看是否存在一些有链接到其他工作簿或 Internet 临时文件的定义名称,名称中的跨工作簿公式也会让文件响应缓慢。

这种跨工作簿公式更新是非常慢的,尽量不要使用!如果一定要用,匹配完成后,请把数据粘贴成值,可以保留第一行的公式,以便需要刷新的时候填充使用。还有其他一些方案,就是用 PQ 或 SQL 去进行跨工作簿引用。

使用了较多的易失性功能

易失性的意思,就是指导致每次 Excel 重新计算时,都会重新计算的功能或函数。例如有时我们打开一个文件,明明没改动过内容,但 Excel 也会问你是否要保存,这种就是因为文件内有易失性功能或函数。

**易失函数,**常见的例如rand(),randbetween(),indirect(),offset(),cell(),info()等,这些建议不要过多地使用;或者不要过多地引用这些函数的值(即其他函数中引用了这些函数所在的单元格,也会导致重算)

易失功能,例如条件格式,在每次计算时 Excel 都需要评估条件格式,所以在条件格式中使用的任何公式,实际上都是易失的。其他也有一些导致易失的功能,如自动筛选、调整行高,列宽等功能,当你进行这些操作时,都会导致公式重算。

公式太多(或数组公式)

即使不是易失性函数,但因为文件内数据量过大,例如超过 5 万行的公式运算,当你要进行重算的时候,也会开始响应缓慢。这时也可以用上面介绍的办法,尽量把一次重算后的单元格都粘贴成值,只保留顶行的公式,待有必要更新时,再双击快速填充公式即可。

或者在你编辑过程中,先切换成手动计算模式,等你需要重算公式时,再手工按一下 F9。


计算选项

同时我还有另一个建议是,请不要过多地在工作表里使用数组公式。偶尔用一些简单的数组公式是可以的,还可以让写法更简洁,但如果你沉迷进去数组公式中,把公式越写越复杂,那么这种情况会导致计算过程中产生过多的冗余数据,影响响应速度!

而且写复杂的数组公式,也不方便自动扩展,维护起来很难,容易掉头发!如果你觉得一定要用数组公式才能解决的话,那你是时候开始学习 VBA、Power Query 了!

占用不必要的单元格

可以通过Ctrl+End,可切换至本工作表中使用的最后一个单元格,看看是不是有不正常的情况,以验证表格的实际使用范围。如果存在不正常使用的单元格,请整行或整列删除不正常使用的部分。

公式的性能上限

如果你都没遇到以上的问题,但还是觉得慢的话,那就真的是在传统的公式、透视表中,已达到了 Excel 性能的上限了。这时你就要增加新的工具去提升数据处理效率!例如:

SQL:用来代替跨工作簿引用文件;用来代替 Vlookup 等函数的功能。

VBA:VBA 的使用,可以避免函数的重算问题,提升性能;通过 VBA 内存数组的形式去操作数据,比操作工作表快 n 倍!当然 VBA 还能实现很多公式、传统操作实现不了的 Amazing 功能,关键是你的创意了。

Excel BI:PQ 可实现比 SQL 更丰富的功能,比公式的效率会高一些。PP 是 Excel 内的最佳处理运算”大数据“的工具,几百万行的数据也能快速响应。

硬件问题

硬件的问题我放到最后才讲,主要是在工作场景中我们可能没那么容易去提升硬件配置,如果你已经有一台高配置的办公电脑,那当然是很好啦。