如果单元格包含公式,则有条件地对其进行格式化


18

如果单元格包含公式,是否可以有条件地格式化单元格(在更新单元格时提醒自己和其他用户)?


如果您只想快速查看哪些单元格包含公式,则可以键入Ctrl-`(这是反选号,与英文键盘上的〜键相同)以显示公式。再次按键进行切换。
yoyo

Answers:


9

您可以通过使用XLM和范围名称来使用条件格式来做到这一点

我有较长的文章有关使用XLM和范围名称和条件格式来根据单元格内容自动设置电子表格格式

  1. 定义范围名称IsFormula = GET.CELL(48,INDIRECT(“ rc”,FALSE))
  2. 应用条件格式单元格测试公式,即= IsFormula并填充颜色

抱歉,到目前为止,我还没有测试过您的答案。这个技巧简单而美丽。公认!谢谢。(顺便说一句,链接断开了。)
威尔逊

经过测试,可以正常工作!我必须为意大利语版本的Excel 2007找到正确的定义。如果您具有意大利语版本的Excel,则必须使用= INFO.CELLA(48; INDIRETTO(“ rc”; FALSO))(请注意,也请用分号代替逗号)
卡马2016年

不好的部分是您需要将其另存为宏文件(例如.xlsm),并且在打开文件时,只有启用了宏,颜色才会显示出来。
Kar.ma,2016年

您过去曾经能够在xlm没有任何宏警告的情况下使用MSFT更改了安全性方法。
brettdj

10

基于brettdj的答案,因为我发现链接的文章很难理解:

  1. 创建一个新的条件格式设置规则,然后选择“ 使用公式来确定要格式化的单元格”
  2. 插入以下公式: =ISFORMULA(INDIRECT("rc",FALSE))
  3. 如果您希望规则适用于整个工作表,$1:$1048576则为要应用的范围。否则,您可以输入任何范围。

该公式INDIRECT("rc",FALSE)返回当前单元格的引用。如果我曾在工作表中使用过此代码,ThisCell则会创建一个名为like的“已定义名称” ,并在公式中使用该名称,以防万一我几年后再回来考虑“这到底是为了什么?”。


这是Excel 2013及更高版本的正确答案,请参阅support.office.com/en-us/article/…–
anishpatel

1
INDIRECT("rc",FALSE)您可以使用条件格式“适用于”范围内的左上角单元格相对引用,而不要使用。例如,如果您的“适用于”范围为=$A$3:$F$300,则使用=ISFORMULA(A3)。这样做是因为条件格式的支持相对引用,请参阅
弥林斯特龙

4

您可以尝试以下方法:

VBA

使用以下代码创建一个自定义函数:

Function IsFormula(ByVal Ref As Range) As Variant
    If Ref.Cells.Count > 1 Then
        IsFormula = CVErr(xlErrNA)
    Else
        IsFormula = Ref.HasFormula
    End If
End Function

例:

要检查列A中的任何单元格是否具有任何公式:

  1. 高亮显示列A
  2. 转到条件格式 > 新规则 > 使用公式来确定要格式化的单元格
  3. 使用ff。式:=IsFormula(A1)

非VBA

  1. F5Ctrl+G
  2. 单击特殊
  3. 选择公式,然后单击确定。这将突出显示工作表中包含公式的所有单元格。
  4. 设置您要使用的格式。

    转到“ 单元格样式”(在“主页”选项卡下),然后选择要与包含公式的单元格关联的样式。要更改外观,请右键单击您选择的样式,然后单击“ 修改”。具有此样式的所有单元格将自动更新。

尽管我个人不喜欢使用VBA,但在这种情况下,VBA解决方案更好,因为在将公式输入到单元格时可以动态更改单元格格式(反之亦然)。谢谢。
威尔逊

4

有一种非常简单的方法可以在Excel 2016中进行测试。

突出显示您希望应用于的范围,例如从中A3:W20。进入条件格式并选择NEW RULE | USE A FORMULA TO DETERMINE WHICH CELLS TO FORMAT

输入=isformula(A3)并选择您要应用的格式。

A3显然是对您范围中第一个单元格的引用,但是此格式随后适用于所有单元格。结果是,在您的范围内,公式的任何单元格都将有条件地格式化。



1

较新的帮助站点建议使用用户定义的功能:

Function IsFormula(cell) as boolean 
  IsFormula = cell.HasFormula
End Function

然后使用该功能作为条件

实际上,Excel 2013和更高版本具有IsFormula标准功能。


-1

您还可以使用条件格式:

  1. 选择要将条件格式应用于的单元格范围
  2. 在首页->条件格式->新规则中:使用公式来检测要格式化的单元格
  3. 当此公式为真时,在“格式值”中输入: =HasNoFormula
  4. 选择所需的格式

使用Excel 2010测试。


您的答案不完整。我不认为您已经测试过。
威尔逊

2
-1,这没有任何作用。= HasNoFormula应该做什么?
toryan 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.