2016-02-03 66 views
1

我在Excel中想要做的是找出滿足特定條件後觸發標誌的方法。Excel公式標誌觸發

E.g.我有數字A和B.A是靜態的,而B是變化的。我也有一個最初是假的標誌f。當B> A時,f更改爲true,並且保持真實,不管將來的值B是多少。

我試圖用循環引用來做到這一點,但無法獲得初始值。這是可能的,而只使用公式?我一直在試圖避免使用VBA。任何幫助或點在正確的方向將不勝感激。

由於

+0

它看起來像從該[問題](http://superuser.com/questions/69908/making-excel-formulas-only-evaluate-once線)有辦法通過改變工作簿的計算模式,我不會推薦這個。您可能(99%肯定)需要使用VBA。除了需要適當地設置用戶的信任設置之外,這確實沒有什麼壞處。只需重寫'Worksheet_Change'事件並放置您需要的邏輯即可。您可能希望將Application.EnableEvents屬性設置爲False以避免堆棧溢出。 –

回答

1

循環引用,並允許迭代的公式基於溶液將是混亂。如果你能找到能夠創造它的人,過了一段時間,沒有人會記得它做了什麼以及如何維護它。

一旦滿足條件,將值寫入單元的VBA是一種更加可靠和可維護的方法。

的代碼將是沿

Private Sub Worksheet_Change(ByVal Target As Range) 
If Not Intersect(Target, Range("B1")) Is Nothing Then 
    If Range("F1") = False Then 
     If Range("B1") > Range("A1") Then Range("F1") = True 
    End If 
End If 

End Sub