答案1
如果你只是希望它(按照你的例子)基于 B 列中的最后一个值,你可以使用
=LOOKUP(2,1/(NOT(ISBLANK(B:B))),B:B)
所以你的公式就是
=(LOOKUP(2,1/(NOT(ISBLANK(B:B))),B:B))/$D$2
这有很多问题,如果你在 B 列中途做出了更改,那么你仍然需要手动进行!
如果你希望它根据你编辑的最近一行触发,那么你需要使用 VBa 的Worksheet_Change
事件
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 2) Then
Range("E2").Value = Range("D2").Value / Target.Value
End If
End Sub
请记住,VBa 无法撤消,因此请先备份并确保将文件保存为启用宏的文件。