我在Excel中使用这个方程来搜索单元格内的术语。
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
这个方程式在C1中搜索Gingrich是否存在,如果存在,则显示1。
我想要做的就是一次搜索多个词。有人知道如何添加OR函数,以便我可以搜索Gingrich OR Obama OR Romney等吗?
我在Excel中使用这个方程来搜索单元格内的术语。
=IF(ISNUMBER(SEARCH("*Gingrich*",C1)),"1","")
这个方程式在C1中搜索Gingrich是否存在,如果存在,则显示1。
我想要做的就是一次搜索多个词。有人知道如何添加OR函数,以便我可以搜索Gingrich OR Obama OR Romney等吗?
另一种方式
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH({"Gingrich","Obama","Romney"},C1)))))>0,"1","")
此外,如果您将数值列表存储在A1到A3中,则可以使用
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A$1:$A$3,C1)))))>0,"1","")
在Search()函数中,通配符并不是必需的,因为Search()返回找到的字符串的位置。
尝试使用COUNT函数,如下所示
=IF(COUNT(SEARCH({"Romney","Obama","Gingrich"},C1)),1,"")
请注意,您不需要通配符(如teylyn所说),除非有特定原因,“1”不需要引号(实际上它会变成文本值)
=IF(OR(ISNUMBER(SEARCH("Gingrich",C3)),ISNUMBER(SEARCH("Obama",C3))),"1","")
在名字所在的C列右侧的函数中,结果如下:
Romney
Gingrich 1
Obama 1
SEARCH()
中有多个术语的答案更好,并且我已经为它们点赞,但是当各个测试不同时,使用 OR()
结合多个测试是必要的,因此我将这个示例保留给其他可能会发现它有用的人。 - SimonSEARCH
的参数),使用命名范围和EVALUATE
函数,正如我从此链接中发现的那样。
例如,我将以下术语作为文本放在单元格$G$1
中:
"PRB", "utilization", "alignment", "spectrum"
search_terms
的命名区域:
在“引用范围”字段中,我输入了以下内容:=EVALUATE("{" & TDoc_List!$G$1 & "}")
EVALUATE
表达式是用来模拟字面字符串的。{"PRB", "utilization", "alignment", "spectrum"}
SEARCH
函数的内容:在SEARCH
中直接引用单个单元格$G$1
(在这种情况下加上花括号)是无效的,因此使用了命名区域和EVALUATE
。现在的技巧在于将对$G$1
的直接引用替换为EVALUATE
增强的命名区域search_terms
。它确实有效,并再次展示了Excel的强大功能!希望这能有所帮助。
$A$1:$A$3
替换为Table1[col]
。 - psychonomics