Excel formula 如何检查整个Excel工作表中公式中的特定文本?
我正在寻找一个公式,它将检查整个工作表中是否有任何公式包含“SUMIF”。如果有,公式应返回“是”,否则返回“否”。尝试以下用户定义的函数:Excel formula 如何检查整个Excel工作表中公式中的特定文本?,excel-formula,contains,sumifs,Excel Formula,Contains,Sumifs,我正在寻找一个公式,它将检查整个工作表中是否有任何公式包含“SUMIF”。如果有,公式应返回“是”,否则返回“否”。尝试以下用户定义的函数: Public Function Zum(rng As Range) As String Dim r2 As Range, r3 As Range Set r2 = rng On Error GoTo out Set r3 = r2.Cells.SpecialCells(xlCellTypeFormulas)
Public Function Zum(rng As Range) As String
Dim r2 As Range, r3 As Range
Set r2 = rng
On Error GoTo out
Set r3 = r2.Cells.SpecialCells(xlCellTypeFormulas)
On Error Resume Next
For Each r In r3
t = r.Formula
If InStr(t, "SUMIF") > 0 Then
Zum = "Yes"
Exit Function
End If
Next r
out:
Zum = "No"
End Function
它基于范围
,但您可以将范围设置为任何特定工作表上的所有单元格。例如,要测试Sheet2
,请将这是Sheet1
中的任意单元格:
=ZUM(Sheet2!1:1048576)
您需要执行以下操作:
COUNTIF
公式
=COUNTIF(您的范围,“=suif”)
IF
公式将1或0转换为“是”或“否”
=IF(COUNTIF(YourRange,“=SUMIF”)=1,“是”、“否”)
对于公式路线,必须限制搜索:
=IF(SUMPRODUCT(--(ISNUMBER(SEARCH("=SUMIF",FORMULATEXT(Sheet2!A1:Z100))))),"Yes","No")
由于内存不足,尝试填写整张工作表将导致错误。Countif不会查看公式,但返回公式,因此不会找到匹配项。