为什么只有通过任务管理器重新启动时 Excel 才能完成耗费资源的公式?

为什么只有通过任务管理器重新启动时 Excel 才能完成耗费资源的公式?

今天早上,我笨手笨脚地IF(COUNTIF())在一列中对 16,000 行进行各种迭代。我体验过该COUNTIF()函数有多慢,因此看到它冻结 Excel 并不令我感到惊讶。

每次我修改整个列的公式时,我都会感到沮丧,总是Excel 冻结。我会打开任务管理器,结束任务,选择“重新启动程序”。我注意到,每次重新启动 Excel 时,重新打开的文档的单元格都会反映出我尝试实施的公式化更改。

因此,当我尝试将新IF(COUNTIF())功能应用于这 16,000 个单元格时,它总是会无限期冻结,无法执行更改。但每次我通过任务管理器重新启动 Excel 时,它都会反映更改。

我认为 Excel 处理一组计算的能力是一个二元选项:它要么能够使用可用资源执行任务,要么无法执行任务。为什么它只能在重新启动时才能执行任务?

答案1

需要很长时间的是计算当然不是存储你的更改。当你关闭 Excel 并重新启动时,你会看到显示的旧值(现在不正确)和存储的新公式。你基本上是在终止重新计算。下次仍然需要那么长时间......

考虑到您的 COUNTIF 必须循环遍历许多单元格,可能同样有 16000 个单元格(我不知道里面有什么);这个公式被复制了 16000 次。这意味着有 2.56 亿个循环要做。对于每个一,COUNTIF 内部的比较需要进行解释和评估。

第二次运行(完成一次后)会快一点,我想是因为 Excel 内部记住了所有公式都是相同的语法,所以不需要再次解释它们。不过,计算仍需重复 2.56 亿次。

相关内容