Excel ISFORMULA函数条件格式,排除包含特定短语的公式

Excel ISFORMULA函数条件格式,排除包含特定短语的公式,excel,vba,Excel,Vba,我有一个电子表格,当用户在单元格中输入公式时,我想突出显示单元格 我的问题是还有其他单元格包含相同范围的公式。特别是这个公式=SUMIFS(B13:B99,AB13:AB99,TRUE)单元格范围可以更改,但其余的不会更改 我想设置条件格式,即如果单元格包含SUMIF字符串,则不应用条件格式 用户只需输入简单的公式Ex=10000*1.34,或=5733+2000+1000。它们可以加上加法、减法、乘法、除法和括号。我认为他们不需要更多的功能。所以我们也可以使用这些变量 我无法手动执行此操作的原

我有一个电子表格,当用户在单元格中输入公式时,我想突出显示单元格

我的问题是还有其他单元格包含相同范围的公式。特别是这个公式
=SUMIFS(B13:B99,AB13:AB99,TRUE)
单元格范围可以更改,但其余的不会更改

我想设置条件格式,即如果单元格包含SUMIF字符串,则不应用条件格式

用户只需输入简单的公式<代码>Ex=10000*1.34,或=5733+2000+1000。它们可以加上加法、减法、乘法、除法和括号。我认为他们不需要更多的功能。所以我们也可以使用这些变量

我无法手动执行此操作的原因是,该工作表是动态的,可以导入数据。我不想突出显示的单元格位置总是在变化

我乐于使用VBA或普通的旧Excel公式


我当前的公式只是
=ISFORMULA(B11:B99)
,它返回的值为true或false。我如何编写一个条件来说明,如果有一个公式不包含
SUMIF
,则返回true,否则返回false?

您可以使用一个简单的自定义函数,例如:

Function IS_SUMIFS(r As Range) As Boolean

If r.HasFormula Then
    If InStr(r.Formula, "SUMIFS") = 0 Then IS_SUMIFS = True   'formula doesn't contain SUMIFS
End If

End Function

您可以在您的条件下使用
FORMULATEXT

=NOT(ISNUMBER(SEARCH("SUMIFS",FORMULATEXT(G6))))

这基本上会在公式的文本中查找“SUMIFS”,如果找到它,
ISNUMBER
将返回true,因为您想要相反的结果,整个过程都被包装在一个
NOT

中,除了不包含公式的单元格返回true之外。我在想
=IF(ISFORMULA(G6),IFERROR(SEARCH(“sumifs(,FORMULATEXT(G6))=0,TRUE),FALSE)
谢谢你,克里斯。@controlnetic.nomad提出的方法与你说的完全一样,当单元格不包含公式时,它返回True。你的if语句解决了这个问题。我最终使用VBA将条件格式应用于范围。