跨多个列使用searchfunction

我想弄清楚如何跨多个单元格(水平走)使用searchfunction。 我似乎无法弄清楚我的公式出了什么问题。 我试图在单元格D4-AQ4中searchE16(“the”)中的单词。 这个词实际上是D4,所以应该find,但它不是。 它说没有find,但是,如果我只是改变公式只是在D4看它发现。 问题是我需要这个公式工作,所以我可以testing更多的单词在所有的单元格,看看他们是否存在。 谁能告诉我发生了什么事?

=IF(ISERROR(SEARCH(E16,$D$4:$AQ$4)>0),"NOT FOUND","FOUND") 

你不能有一个范围=SEARCH() ,它只会返回一个#VALUE,在你的公式中会给你一个“Not Found”。 如果有疑问,请取出您的IF并查看条件声明返回的内容。

但是,您可以将您的单元格值连接起来,形成一个大胖子的search词。 =CONCATENATE()公式将起作用,您可以使用&

 =IF(ISERROR(SEARCH(E16,CONCATENATE(D4, E4, F4, ... AQ4))>0),"NOT FOUND","FOUND") 

要么

 =IF(ISERROR(SEARCH(E16,D4&E4&F4& ... &AQ4)>0),"NOT FOUND","FOUND") 

无论哪种方式,一个将工作。 这个连接非常繁琐,但是这是您在VBA UDF之外最好的select。