Excel 尝试创建一个函数,确定另一个电子表格中是否存在字符串

Excel 尝试创建一个函数,确定另一个电子表格中是否存在字符串,excel,Excel,本质上,我想要的是检查字符串是否出现在另一个电子表格中,并根据它是否出现在另一个表格中返回TRUE或FALSE。为了检查单个单元格是否与另一个单元格完全相同,公式相对简单: 示例:A1在第二张图纸中检查,列和单元格相同 =AND(IF(A1=SheetX!A1, TRUE, FALSE),NOT(ISBLANK(A1))) 但是,如果您尝试更换SheetX!A1和SheetX!A1:A1001,例如,在找到相同值的行中响应true!我不想要的X,不提溢出问题(我可以处理) 我想解决这个问题的唯

本质上,我想要的是检查字符串是否出现在另一个电子表格中,并根据它是否出现在另一个表格中返回TRUE或FALSE。为了检查单个单元格是否与另一个单元格完全相同,公式相对简单:

示例:A1在第二张图纸中检查,列和单元格相同

=AND(IF(A1=SheetX!A1, TRUE, FALSE),NOT(ISBLANK(A1)))
但是,如果您尝试更换SheetX!A1和SheetX!A1:A1001,例如,在找到相同值的行中响应true!我不想要的X,不提溢出问题(我可以处理)

我想解决这个问题的唯一方法是使用=或并声明所有单元格。。。整齐像这样

=OR(AND(IF(A1=Sheet2!$A$1,TRUE,FALSE),NOT(ISBLANK(A1))),AND(IF(A1=Sheet2!$A$2,TRUE,FALSE),NOT(ISBLANK(A1)),AND(IF(A1=Sheet2!$A$3,TRUE,FALSE),NOT(ISBLANK(A1)),AND(IF(A1=Sheet2!$A$4,TRUE,FALSE),NOT(ISBLANK(A1)))))
…等等

这是有效的,并且给出了正确的答案。。。但是。。。嗯。。。用外行的话来说。。。根本不可行

一定有什么东西我错过了,很容易修复。。。但是经过几个小时的思考,我还是找不到它


非常感谢所有能够发现问题的人:)

请考虑以下用户定义的函数:

Public Function IsItInAnotherSheet(s As String, shname As String) As Boolean
    Application.Volatile
    Dim rng As Range, ws As Worksheet
    Set ws = Sheets(shname)
    Set rng = ws.Cells.Find(What:=s, after:=ws.Range("A1"))
    IsItInAnotherSheet = Not rng Is Nothing
End Function
例如:


那么您只想在另一个选项卡上检查该值是否存在于某个范围内?为什么不使用Countif呢?谢谢,这很有效,它比使用代码创建用户定义的函数容易得多。