2017-08-03 183 views
2

有沒有辦法通過條件格式(最好是沒有VBA,但如果它是一個必須,然後我打開它),突出顯示一個單元格的公式「想法」不同於上面的單元格?條件格式 - 突出顯示公式不同的單元格?

我有一列公式,但必須手動編輯其中的一些。我想要突出顯示那些手動編輯的公式,所以當我更改其他單元格的公式時,我知道在更新該列時要跳過哪個單元格。

例如,這裏是我的專欄和公式:
enter image description here

我想有B5黃色突出顯示,由於公式是不同的。

我試過使用=FORMULATEXT($B3)<>FORMULATEXT($B2),但這不起作用,因爲它正在查看文字公式文本......其中它們總是不同的。 (=FORMULATEXT(B3)=FORMULATEXT(B2)將始終爲FALSE,因爲公式在技術上發生了變化,儘管它是相同的「想法」)。

我還可以或許用=LEN($B3)<>LEN($B2)但會有假陽性,當行更改從910,再從99100 ...

另一個選項,當然,僅僅是在一個IF()聲明中工作,以澄清爲什麼我在做一個不同的公式,即=IF(ROW()=5,A5+A4+A2+A1,A5+A4)並使用它......但是沒有真正的邏輯爲什麼我必須手動編輯我可以工作 - 這就是爲什麼我只想對那些隨機單元格提供了很好的視覺提示,該公式不像其他人。

編輯:快注意上面的公式是的方式簡化。我的實際情況有點複雜。我也在尋找一個普遍的答案。考慮到我的目的,我可能會檢查一下,如果公式中有兩個以上+,請突出顯示該單元格。 ......但我對解決這種更廣泛適用的問題的一般方法感興趣。

+2

於是小綠色三角形中左上角是不夠的? 8P –

+0

也許會添加評論(例如紅色三角形而不是黃色填充)。 – pnuts

+0

你可以使用更通用的公式:'= INDEX(A:A,ROW())+ INDEX(A:A,ROW() - 1)',那麼你可以直接比較FORMULATEXT。 –

回答

1

這是我提出的一個快速的VB輔助解決方案。如果我爲特殊單元格添加註釋(我會解釋公式/爲什麼它不同),我可以檢查評論然後突出顯示它。

添加此功能可將工作簿:

Function has_Comment(cel As Range) As Boolean 
has_Comment = False 
If cel.Comment.Text <> "" Then 
    has_Comment = True 
End If 
End Function 

那麼的簡單條件格式公式:

=has_comment(B2) 

這樣的作品,並且是相對簡單的。

編輯:我發現你也可以做到這一點,它不依賴於評論。只是指出一個Inconsistency Error

Function has_inconsistency(cel As Range) As Boolean 
has_inconsistency = False 
If cel.Errors.Item(xlInconsistentFormula).Value = True Then 
    has_inconsistency = True 
End If 
End Function 
+1

我真誠地不試圖回答我自己的問題問題(特別是如我所說我正在尋找一個非VB解決方案!) - 思考後,以及上述評論,只是想作爲一個註釋/替代方式添加此。 – BruceWayne

+2

我認爲你堅持的選擇,你並不真正想要的:VBA或R1C1的引用。 (遺憾的是,FormulaText沒有指定R1C1的標誌) –

+0

@LordPeter - 是的,除非我創建一個或兩個輔助列(我不願意做,因爲我的表已經很大)。我也一直在想,爲什麼Excel沒有像'= get_R1C1([某些A1樣式公式或引用])那樣的內置公式,它會返回公式的R1C1樣式。 – BruceWayne

2

這裏的UDF爲另一種選擇:

Function findDifferent(Rng As Range) As Boolean 

findDifferent = Not (Rng.FormulaR1C1 = Rng.Offset(-1).FormulaR1C1 Or Rng.FormulaR1C1 = Rng.Offset(1).FormulaR1C1) 
End Function 

enter image description here

+0

哦,不錯,這也是一個好主意:D – BruceWayne

+0

非常好!甚至不需要幫助欄。似乎很多工作將標準警報三角形更改爲背景色! –

+0

@LordPeter - 現在,我將使用下面使用的vba,因爲有可能我有三個+公式在一行中都是不同的......除非我錯過了某些東西,Scott只是在上面和下面檢查無可否認,這正是我在OP中所說的)。 – BruceWayne

相關問題