要高效地使用公式,有三个需要了解的重要事项:
计算 是计算公式的过程,然后将结果显示为包含公式的单元格中的值。 为避免不必要的计算浪费时间和降低计算机速度,只有在公式所依赖的单元格发生更改时,Microsoft Excel 才会自动重新计算公式。 第一次打开工作簿以及编辑工作簿时,会默认执行重新计算。 但是,您可以控制 Excel 重新计算公式的时间和方式。
迭代 是工作表的重复重新计算,直到满足特定的数值条件。 默认情况下,Excel 无法直接或间接计算引用其自己的单元格的公式。 若要计算这些公式,可以启用迭代计算。 这叫做循环引用。 如果一个公式引用了自身所在的某个单元格,那么您必须确定该公式应该重新计算多少次。 循环引用可以无限迭代。 但是,您可以控制最大迭代次数和可接受误差的值。
精度 是计算准确度的度量值。 Excel 采用 15 个有效数字的精度进行存储和计算。 但是,您可以更改计算的精度,以使 Excel 在重新计算公式时使用显示值而不是存储值。
更改重新计算工作表或工作簿的时间
在计算过程中,你可以选择命令或执行操作(例如输入数字或公式)。 Excel 将暂时中断计算以执行另一命令或操作,然后继续进行计算。 如果工作簿包含大量公式,或者工作表包含每次重新计算工作簿时都将自动重新计算的数据表或函数,则计算过程可能需要更长时间。 此外,如果工作表包含指向其他工作表或工作簿的链接,计算过程也可能需要更长时间。 可通过将计算过程更改为手动计算来控制进行计算的时间。
重要
在 Excel 桌面应用中,更改这些选项会影响所有打开的工作簿。
在 Excel for Windows 桌面中,依次选择“ 文件 ”选项卡、“ 选项”和“ 公式 ”类别。
执行下列操作之一:
若要在每次更改值、公式或名称时重新计算所有依赖公式,请在 “计算选项” 部分的 “工作簿计算”下选择“ 自动”。 这是默认的计算设置。
若要在每次更改值、公式或名称时重新计算所有依赖公式 (数据表除外),请在 “计算选项” 部分的 “工作簿计算”下,选择“ 部分”。
若要仅在手动重新计算 (时关闭自动重新计算和更新公式,例如,按 F9) ,在 “计算选项” 部分的 “工作簿计算”下,选择“ 手动”。
注意
选择“手动”时,Excel 会自动选择“保存检查之前重新计算工作簿”框。 如果保存工作簿需要很长时间,那么清除“保存工作簿前重新计算”复选框可缩短保存时间。
若要手动重新计算所有打开的工作表(包括数据表),并更新所有打开的图表工作表,请在“ 公式 ”选项卡上的“ 计算 ”组中,选择“ 立即计算 ”按钮。
若要手动重新计算活动工作表以及链接到此工作表的任何图表和图表工作表,请在“ 公式 ”选项卡上的“ 计算 ”组中,选择“ 计算工作表 ”按钮。
提示
也可以在“Excel 选项”对话框之外更改其中的许多选项。 在“ 公式 ”选项卡上的“ 计算 ”组中,选择“ 计算选项”,然后选择“ 自动”。
注意
如果工作表中的公式包含指向另一尚未重新计算的工作表的链接,那么在更新该链接时,Excel 将显示一条消息,指明源工作表未完全重新计算。 若要使用源工作表上存储的当前值更新链接(即使该值可能不正确),请选择“ 确定”。 若要取消更新链接并使用从源工作表获取的上一个值,请选择“ 取消”。
使用键盘快捷键手动重新计算工作表或工作簿
| 目的 | 按 |
|---|---|
| 重新计算所有打开的工作簿中,自上次计算后进行了更改的公式以及依赖于这些公式的公式。 如果工作簿设置为自动重新计算,则不必按 F9 重新计算。 | F9 |
| 重新计算活动工作表中,自上次计算后进行了更改的公式以及依赖于这些公式的公式。 | Shift+F9 |
| 重新计算所有打开工作簿中的所有公式,不论这些公式自上次重新计算后是否进行了更改。 | Ctrl+Alt+F9 |
| 检查相关的公式,然后重新计算所有打开工作簿中的所有公式,不论这些公式自上次重新计算后是否进行了更改。 | Ctrl+Shift+Alt+F9 |
更改 Excel 迭代公式的次数
- 选择“文件”选项卡,选择“选项”,然后选择“公式”类别。
- 在“计算选项”部分中,选中“启用迭代计算”复选框。
- 若要设置 Excel 进行重新计算的最大次数,请在“最多迭代次数”框中键入迭代次数。 迭代次数越高,Excel 重新计算工作表所需的时间就越长。
- 要设置两次重新计算结果之间可以接受的最大误差,请在“最大误差”框中键入数值。 数值越小,结果就越精确,Excel 重新计算工作表所需的时间也越长。
注意
规划求解和目标查找是一组命令的一部分,有时称为 What-if 分析工具。 这两个命令采用可控的方式使用迭代,以获得所需的结果。 如果需要通过调整一些单元格中的值来找到特定单元格的最优值,或者要对计算中的一个或多个值应用特定的限制,就可以使用规划求解。 如果知道单个公式的所需结果,但不知道该公式确定结果所需的输入值,就可以使用单变量求解。
更改工作簿中的计算精度
在更改计算精度之前,请记住以下重要事项:
默认情况下,Excel 计算存储值而非显示值
显示和打印值取决于你选择的存储值格式和显示方式。 例如,显示日期为“2008/6/22”的单元格还包含一个序列号,该序列号即该单元格中日期的存储值。 你可以将日期显示更改为其他格式(例如 2008-6-22),但更改工作表上值的显示形式不会更改存储值。
更改计算精度时的使用警告
当公式执行计算时,Excel 通常使用公式所引用单元格中存储的值。 例如,两个单元格均包含值 10.005,而单元格格式设置为以货币格式显示值,两个单元格中显示的值均为 $10.01。 如果你将这两个单元格加和,则结果为 $20.01,因为 Excel 会将存储值 10.005 和 10.005 相加,而不是将显示值相加。
如果使用显示的(带格式的)值更改工作簿中的计算精度,那么 Excel 会永久性地将单元格中的存储值由完全精度(15 位)更改为显示的任何格式,包括小数位数。 如果您以后又选择以完全精度进行计算,则无法还原初始的基本值。
- 选择“ 文件 ”选项卡,选择“ 选项”,然后选择“ 高级 ”类别。
- 在“计算此工作簿时”部分,选择所需的工作簿,然后选中“将精度设为所显示的精度”复选框。
了解有关 Excel 中的精度的更多信息
尽管 Excel 将精度限制为 15 位,但这并不意味着 15 位是可以存储在 Excel 中的数字的大小限制。 正数的限制为 9.9999999999999E+307,负数限制为 -9.999999999999E+307。 这相当于 1 或 -1 后面跟 308 个 0。
Excel 中的精度意味着会存储任何超过 15 位的数字,但仅使用 15 位的精度加以显示。 小数点之前或之后的这些数字可以采用任何组合。 第 15 位右侧的任何数字都将为 0。 例如,1234567.890123456 有 16 位(7 位在小数点之前,9 位在小数点之后)。 在 Excel 中,它存储并显示为 1234567.89012345(这显示在编辑栏和单元格中)。 如果你将单元格设置为数字格式以便显示所有数字(而不是科学记数格式,例如 1.23457E+06),你将看到该数字显示为 1234567.890123450。 末位的 6(第 16位)将被删除并替换为 0。 精度在第 15位停止,因此其后的任何数字都为 0。
更改用于计算公式的处理器数量
一台计算机可以有多个处理器(包含多个物理处理器),也可以超线程(包含多个逻辑处理器)。 在这些计算机上,可以通过设置用于重新计算的处理器数量来缩短或控制重新计算包含大量公式的工作簿所需的时间。 在大多数情况下,部分重新计算工作负荷可以同时执行。 如果将工作负荷分配给多个处理器,那么可以缩短完成重新计算所需的总时间。
选择“ 文件 ”选项卡,选择“ 选项”,然后选择“ 高级 ”类别。
若要在计算过程中启用或禁用对于多个处理器的使用,请在“公式”部分中,选中或清除“启用多线程计算”复选框。
注意
默认情况下此复选框为启用状态,且在计算过程中使用所有处理器。 将自动检测计算机上的处理器数,并在 “使用此计算机上的所有处理器 ”选项旁边显示。
或者,如果选中“启用多线程计算”,则可以控制计算机上所用处理器的数量。 例如,如果计算机上运行的其他程序需要专用的处理时间,那么您可能希望限制重新计算过程中所用的处理器数量。
若要控制处理器数,请在 “计算线程数”下选择“ 手动”。 输入要使用的处理器数量(最大数目为 1024)。
了解如何计算在早期版本 Excel 中创建的工作簿
为确保早期版本的工作簿计算正确,当第一次打开在早期版本的 Excel 中保存的工作簿时,Excel 的操作不同于打开用当前版本创建的工作簿。
- 当打开用当前版本创建的工作簿时,Excel 只会重新计算那些依赖于已更改单元格的公式。
- 打开在早期版本的 Excel 中创建的工作簿时,将重新计算工作簿中的所有公式(那些依赖于已更改的单元格和未更改的单元格的公式)。 这是为了确保针对当前版本的 Excel 对工作簿进行完全优化。 例外情况是工作簿处于不同的计算模式,例如“手动”。
- 因为完全重新计算比部分重新计算需要更多的时间,所以打开以前未保存为 Excel 当前版本格式的工作簿可能会比通常情况下耗时更长。 在当前版本 Excel 中保存工作簿之后,打开的速度会加快。
需要更多帮助吗?
你随时可以在 Excel 技术社区 中咨询专家或在 社区中获取支持。