如何锁定具有自参考的公式?

如何锁定具有自参考的公式?

我正在尝试这个:

C9公式:=-40+C9

我希望能够在 C9 中输入一些不会覆盖公式的值并在该单元格中得到结果。例如:

如果我在 C9 中输入值 140,单元格将显示 100,因为公式为 =-40+C9

那可能吗?

答案1

您可以编写一个用于单元格更改的宏http://support.microsoft.com/kb/213612 阅读这个主题你可能会觉得有用:https://stackoverflow.com/questions/409434/automatically-execute-an-excel-macro-on-a-cell-change

这是工作示例(刚刚在我的计算机上尝试过)

Private Sub Worksheet_Change(ByVal Target As Range)
    Set KeyCells = Range("A1:C10")
    Set isect = Application.Intersect(KeyCells, Range(Target.Address))
    If Not isect Is Nothing Then
        Application.EnableEvents = False
        isect.Value = isect.Value - 40
        Application.EnableEvents = True
    End If
End Sub

答案2

简短回答:

按照你所说的做会导致所谓的循环引用

答案3

你不应该这么做!

使得 C9 = -40 + C9 简单来说就是递归。这意味着,如果允许单元格求值,它应该永远从自身中减去 -40。另外,我不建议使用宏。您将永远无法进行更改或恢复到以前的值。比如说,如果您想更改一个单元格,其他单元格也会受到影响。

我的建议是为此额外添加一列。比如在 C9 中写下你的值,然后在 D9 中计算。然后,你可以去隐藏C 列使其不可打印。这种方式非常可靠和安全。实际上,电子表格本来就是这样工作的。

相关内容