xlsx 文件本质上是 XML 文件等的压缩包。我有一个 xlsx 文件,该文件被另一个非 Excel 程序修改。它更新了工作表 A 上的值。工作表 B 具有基于工作表 A 上的值的公式。当 Excel 打开文件时,它没有意识到从 Excel 的角度来看文件已关闭时公式输入已更改。当然,非 Excel 程序会打开文件、修改值并关闭文件。但 Excel 不知道这一点。所以它不会重新计算。我如何告诉 Excel 值已更改并重新计算公式?我如何让它重新计算?
我尝试了 Google 建议的所有常见的重新计算错误:
• 检查公式中的所有括号
• 确保为函数提供所有必需的参数
• 不要在公式中嵌套超过 64 个函数
• 不要将数字括在双引号中
• 在 Excel 公式中使用数字时,不要添加任何小数分隔符或货币符号,如 $ 或 €
• 确保数字未格式化为文本值(它们是常规格式)
• 用适当的字符分隔函数参数
• 将工作簿和工作表名称括在单引号中(它们是)
• 包含已关闭工作簿的完整路径(仅引用另一个工作表,而不是另一个工作簿)
• 计算选项设置为自动
• 尝试按“立即计算”
• 尝试按“计算工作表”
• 尝试按 F9
• 尝试按 Shift+F9
• 显示公式模式已关闭
• 公式未作为文本输入
• 公式没有前导空格
如果我通过单击公式末尾并按 Enter 键来编辑公式,它会认为公式已更改并正确评估公式。但每次数据更改时对表中的每个单元格执行此操作以强制其重新评估公式会很繁琐。
在公式菜单中,如果我点击“计算公式”>>“计算”,对话框会显示公式的正确新值。但是当我关闭对话框时,工作表中的值当然没有改变。
公式很简单,例如:
='trailing 12 months years'!D4
问题是 Excel 不知道单元格“过去 12 个月的年份”!文件关闭时 D4 发生了变化(从 Excel 的 PoV 来看)。
那么如何让 Excel 重新计算呢?