有没有办法在单元格中search特定的单词 – 不pipe顺序如何?

基本上,我试图写一个函数来search一个像“好工作”这样的短语,并以任何顺序返回单元格,包括这些单词 – 不pipe是“他有一份好工作”,“这份工作是好的”还是“良好的在你上一份工作上工作。“

我试过search和索引/匹配方法。 要么会返回第一个例子,但不返回第二个。

有没有这样做的function? 谢谢!

=SUMPRODUCT(--ISNUMBER(SEARCH({"good","job"},A1)))=2 

如果两个单词都存在,将返回TRUE

在这里输入图像说明

要在单个单元格中使用这种search词的方法是可能的,但是需要一些复杂的手段将这两个单词转换为一个数组。 如果两个search词在A1中,则:

 =SUMPRODUCT(--ISNUMBER(SEARCH(TRIM(MID(SUBSTITUTE($A$1," ",REPT(" ",99)),(ROW(INDIRECT("1:2"))-1)*98+1,99)),B1)))=2 

在这里输入图像说明

说你的公式是在单元格A2中,而你的文本string是在A1中

 =IFERROR(IF(AND(FIND("GOOD",UPPER(A1))>0,FIND("JOB",UPPER(A1))>0),A1,),"") 

可能与条件格式(尽pipe远不如VBA一样灵活):

SO46143700的例子

以上使用CF公式规则适用于ColumnB(A1中的good job ):

 =FIND(LEFT($A$1,FIND(" ",$A$1)-1),B1)+FIND(MID($A$1,FIND(" ",$A$1)+1,LEN($A$1)),B1) 

报告TRUE或FALSE也许:

 =IFERROR(FIND(LEFT($A$1,FIND(" ",$A$1)-1),B1)+FIND(MID($A$1,FIND(" ",$A$1)+1,LEN($A$1)),B1)>0,FALSE)