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将条件格式应用于范围。