让 Excel 公式仅计算一次

让 Excel 公式仅计算一次

有没有办法将公式评估的结果嵌入到单元格中,以便评估只发生一次?

例如:如果我今天在单元格中输入 =TODAY() 公式,则如果我明天打开电子表格,我希望昨天的日期显示在该单元格中。

答案1

在某些情况下,如果您想从公式中获得静态答案,您可以不使用公式来做您想做的事情。

在您的示例中,Excel 不知道 TODAY() 是指今天的日期还是在电子表格中输入的日期。

但是,您可以在单元格中插入当前日期和/或时间:您可以选择一个单元格,然后分别按CTRL+;CTRL+SHIFT+;选择当前日期和当前时间(对于两者CTRL+; then SPACE then CTRL+SHIFT+;)。

在其他情况下,我倾向于copy然后paste special作为value

答案2

工具/选项/计算菜单集迭代次数

设置一个新的单元格,比如说A1,等于其自身加 1(是的,这是一个循环引用)

每次计算时,按 F9 键,您将看到A1增加一。

将您的公式放入如果语句,以便您的公式仅在A2等于一;并且等于其自身时A1不等于一。

例如:假设你的公式是A2你的公式是 =如果(A2=1,今天(),A2)

您可以使用格式化为显示分钟和秒的 Excel Now 函数来亲自测试这一点。

要将新单元格重置为 1,请单击公式栏并按回车键。(即 - 重新输入公式)

只要您没有在工作簿的其他地方使用 Solver,这种方法就应该可行。

另请注意,如果工作簿中有其他循环引用,Excel 不会对其进行标记。

答案3

我发现解决这个问题的最佳方法是将可更改的公式放在一个单元格中,并从另一个单元格将数据验证“列表”链接到该单元格。隐藏包含公式的单元格,使用下拉菜单选择一个值。这样可以避免输入错误、加快输入速度,并且无论它链接到的公式将来更新多少次,所选值都会保持不变。

对于给出的日期示例,请将其输入=today()到单元格 A1 中,这将是包含公式的单元格。然后选择单元格 B1,进入功能区并选择数据 > 数据验证 > 数据验证。从下拉菜单中选择“列表”,然后在源中输入=A1

现在隐藏单元格 A1。当您选择单元格 B1 时,右侧会出现一个下拉箭头。当您单击下拉箭头时,您唯一的选择应该是单元格 A1 中显示的日期。

我正在使用此功能来帮助在日志表中输入数据。我的单元格中有公式,可以自动计算应输入日志的值(今天为真),还有带有数据验证的单元格,链接到方程式单元格,允许用户从一个非常短的下拉列表中选择那些自动计算的值。明天,所有方程式单元格都会改变,但记录的值不会改变,除非有人故意更改它们。我只是隐藏了包含方程式单元格的列,这样用户就看不到它们了。

相关内容