优化包含大量公式的大表的运行速度

优化包含大量公式的大表的运行速度

我必须为其他用户制作一个基于 Excel 的计算器。它的工作原理非常简单,它只需判断单元格是否包含某些字母。

计算器基本上是一个大表格(可从以下网址下载关联):

在此处输入图片描述

在 BD 列中公式如下:

=SUM(IF((LEN(A1)-LEN(SUBSTITUTE(UPPER(A1);{"s","t"};"")));1;0))

大型表格运行缓慢。可能是因为长公式在数千个单元格中重复? 这些是提高此类表的速度的技巧吗?

答案1

根据经验法则,您希望使用尽可能少的操作并选择运行速度尽可能快的操作。无论如何,除非您尝试,否则您无法真正知道。

第一个想法:尝试使用函数 SEARCH/FIND 并将它们与嵌套的 IF 结合起来。

第二个想法:尝试先将字符串大写为隐藏列,然后添加 25 个隐藏列(每个字母一个),如果字符串包含该特定字母,则根据条件为 1 或 0。为了获得所需的结果,您可以有选择地将相应字母列中的 0/1 相加。最后一步,添加另一个列/公式以将所有内容 >0 剪辑为 1。由于您的查询数 > 100 并且只有 25 个字母,因此这可能比您现在的速度更快。

但老实说,你用错了工具来解决这类问题。使用数据库或编程语言可以让你的速度提高很多个数量级,甚至可以达到 100000:1 甚至更高。从更好的角度来看,这就像从 3 小时缩短到 0.1 秒。

相关内容