条件格式 – 突出显示公式不同的单元格?
有没有办法通过条件格式(最好是没有VBA,但如果这是必须的 ,那么我打开它),以突出一个单元格的公式“想法”不同于上面的单元格?
我有一列公式,但必须手动编辑其中的一些。 我想要突出显示那些手动编辑的公式,所以当我更改其他单元格的公式时,我知道在更新该列时要跳过哪个单元格。
例如,这里是我的专栏和公式:
由于公式不同,我想让B5
突出显示黄色。
我已经尝试过使用=FORMULATEXT($B3)<>FORMULATEXT($B2)
但是这不起作用,因为它正在查看文字公式文本…在哪些方面总是不同的。 ( =FORMULATEXT(B3)=FORMULATEXT(B2)
将始终是FALSE
因为公式在技术上正在改变,尽pipe它是相同的“想法”)。
我也可以使用=LEN($B3)<>LEN($B2)
但是当行从9
变为10
,再从99
变为100
时,会出现误报…
当然,其他select只是在IF()
语句中工作,以阐明为什么我要做一个不同的公式,即=IF(ROW()=5,A5+A4+A2+A1,A5+A4)
并使用它…但是,为什么我必须手动编辑我没有真正的逻辑,我可以工作 – 这就是为什么我只是想在这些随机单元格上提供一个很好的视觉提示,这个公式与其他的不一样。
编辑:快速注意,上面的公式是方式简化。 我的实际情况有点复杂。 我也在寻找一个普遍的答案。 只是想为我的目的,我可以做一个检查,如果公式有两个以上+
,突出显示单元格。 …但我对解决这种更广泛适用的问题的一般方法感兴趣。
这是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
这是我提出的一个快速VB辅助解决scheme。 如果我给特殊单元格添加注释(我会解释它的公式/为什么不同),我可以检查一下评论,然后突出显示它。
将此函数添加到工作簿:
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