常见问题:工作簿性能
工作簿的大小上限是多少?此上限的影响因素有哪些?
总体来说,每个工作簿的单元格数量不能超过 2000 万个。请注意,与工作簿大小相比,工作簿公式和依赖关系对性能的影响要大得多。有关工作簿限制的完整列表,请参见 参考信息:工作簿限制。
下表列出了可能会严重影响性能的工作簿特征,以及有助于减轻这种影响的一些提示:
性能影响因素
| 提示
|
|---|---|
使用同一公式的多个实例,而不是使用数组公式。 | 尽可能使用无约束的公式,而不要使用拖拽填充操作在单元格中放置同一公式的多个实例。提交公式时,请记得使用无约束的公式对应的键盘快捷键。有关详细信息,请参见 概念:工作簿中的数组公式。 |
工作簿内和工作簿之间的依赖关系。某个单元格中的变更可能会引发其他多个单元格的计算。如果直接或间接受影响的单元格数量超过 1,000 个,则性能可能会下降。 | 使用外部引用时,请尽量减少使用由使用者工作簿引用的生产者工作簿(尤其是在生产者工作簿比较大的情况下)。 |
更改范围值时使用的计算密集型函数,例如 VLOOKUP、SUMIFS 等。 | Worksheets 提供多个已编制索引的函数,它们针对性能进行了优化。以下 WD 函数会为指定的范围或数组创建 b 树索引,如果对 相同 数据重复使用,则可提供更好的搜索性能。如果您对 同一 组数据执行多次查询,则系统会缓存 b 树索引,并在之后多次使用该索引。我们建议尽可能使用以下函数,而不要使用它们对应的未编制索引的函数:
为了优化工作簿性能,我们建议您在 WD 函数中引用某个范围时编写公式,并使用绝对引用指定正确的查询范围。这可确保减少需要创建和缓存的 b 树索引。 绝对引用可确保无论在何处复制或填充公式,公式中的单元格引用都保持不变。要将单元格设为绝对引用,请在公式中的列字母和行号前面添加美元符号 ($)。示例:$Q$45、$T$67、$A$1:$A$10 等。 |
每当 Worksheets 执行重新计算时运行的易变函数,例如 RAND、NOW、TODAY、OFFSET、INDIRECT 和 INFO。导致工作簿执行重新计算的操作包括:
| 您可以将易变函数封装在 ONCE 函数中,以阻止重新计算。 请勿创建一个使用易变函数的定义的名称,然后在多个位置使用此名称。您可以改为在某个单元格中插入易变函数,然后创建定义的名称,通过此名称来引用该单元格。 示例:为当前日期设置和使用定义的名称:
|
通常,以下工作簿特征对性能的影响极其轻微:
- 工作簿总大小
- 单元格数量
- 工作表(选项卡)数量
- 跨工作表的公式
- 公式序列
- 汇总选项卡
有时,我会看到系统提醒我稍后再返回工作簿。这是为什么?
如果 Worksheets 完成某项操作所需的时间超过几秒钟,系统就会显示这样的提醒。例如,在插入或刷新动态数据时,或者在重新计算大量公式时,系统可能会显示这样的提醒。看到提醒后,您可以忽略工作簿,这样能在 Worksheets 完成操作的同时执行其他工作。如果您打开的工作簿已经在运行刷新或数据向导流程,您也会看到这样的提醒。
有时,我会在云盘文件列表中看到“正在处理...”标志显示了一段时间。什么因素决定了我是否会看到此标志?
当您根据现有数据(例如来自报告或集成应用程序的数据)创建工作簿时,Worksheets 会在将数据添加到工作簿时显示“正在处理...”标志。此标志显示的时间可能从几秒到几小时不等,具体取决于多个因素,包括:
- 计算次数和公式数量。
- 文件或 Workday 报告的大小。
- 集成应用程序生成流程的复杂性。
- 工作簿是否包含来自任何 Workday 报告的动态数据,或者租户可能正在运行的其他资源密集型流程。(Worksheets 流程独立于任何其他租户流程,但动态数据除外。)
在 Worksheets 开始生成工作簿后,您无法取消此操作,也无法开始生成新的集成应用程序工作簿。但是,如果工作簿处于“正在处理”状态的时间超过 24 小时,Worksheets 会自动取消此操作,使您能够将工作簿移至回收站或重新生成工作簿。
我的工作簿计算速度太慢。我可以进行哪些改进?
- 如果要对包含复杂公式的工作簿进行多项变更,则在您完成所有变更之前,您可能要阻止重新计算。您可以从 对话框中临时将重新计算模式更改为“手动”。
- 移除分析时不需要的任何数据。
- 尽量减少工作簿之间的外部引用。
- 尽量减少公式数量。
- 谨慎使用整列引用(例如 A:A)。
- 如果使用查询公式,请尝试整理数据,以便使用已排序的数据进行计算。使用已排序的数据时,查询函数的运行速度会快很多,而且,如果您可以避免使用完全匹配选项,速度会更快。
上传 Excel 电子表格需要多长时间?
大多数上传可在几秒钟内完成,但超大型 Excel 电子表格可能需要几分钟时间。云盘中的进度条显示了上传流程的进行情况。当上传流程在后台进行时,您可以处理其他工作簿。
我在不同的计算机上运行 Worksheets 时,Worksheets 的运行速度有快有慢。这是为什么?
如果计算机正在同时运行其他资源密集型应用程序,或者计算机的处理能力因其他原因而降低,Worksheets 等富 Web 应用程序的性能可能会下降。此问题涉及的变化因素太多,因此,我们无法推荐具体配置。不过,您可能会发现,您需要在自己的环境中自行确定硬件配置要求。