Excel中:使用数组公式在特定string中searchstring列表?

我想search一个单元格的单词列表。 我认为这将作为一个数组公式:

{=FIND(<list of words I want to search for>,<cell I want to search>)} 

但是当我正在search的单元格中的单词位于我正在search的单词列表的第一行时,它只会find匹配。 有没有什么办法可以写出一个看起来整个列表的公式? 而且我宁愿如果它不只是返回TRUE / FALSE。 我知道如何search单元格的单词列表,并根据单元格中是否存在单词,返回TRUE / FALSE。 我想知道哪个单词被find,或者它的位置。

这将返回匹配的单词或错误,如果没有find匹配。 对于这个例子,我使用了以下内容。

要search的单词列表: G1:G7
要search的单元格: A1

 =INDEX(G1:G7,MAX(IF(ISERROR(FIND(G1:G7,A1)),-1,1)*(ROW(G1:G7)-ROW(G1)+1))) 

Ctrl + Shift + Enter作为数组公式input

这个公式首先查找单词列表来查找匹配,然后将单词在列表中的位置logging为正值,如果未find,则将其logging为负值。 该数组中最大的值是列表中find的单词的位置。 如果找不到任何单词,则将负值传递给INDEX()函数,并引发错误。

要返回匹配单词的行号,可以使用以下内容:

 =MAX(IF(ISERROR(FIND(G1:G7,A1)),-1,1)*ROW(G1:G7)) 

这也必须通过按Ctrl + Shift + Enter作为数组公式input 。 如果找不到匹配,它将返回-1

为像我这样的人添加这个答案是一个真实/错误的答案是完全可以接受的

 OR(IF(ISNUMBER(SEARCH($G$1:$G$7,A1)),TRUE,FALSE)) 

或者区分大小写

 OR(IF(ISNUMBER(FIND($G$1:$G$7,A1)),TRUE,FALSE)) 

search条件的范围是G1:G7

记得按CTRL + SHIT + ENTER

  1. 使用分隔符将您的单词列表添加到单词fe中
  2. 在查找调用交换参数 – 我们希望search如果单元格的值匹配模式string中的一个string{=FIND("cell I want to search","list of words I want to search for")}
  3. 如果模式相似,就有可能获得比想要更多的结果,我们通过添加“|”来限制正确的结果。 (单元格公式很好)单元格G3可以包含: {=SUM(FIND($A$1:$A$100&"|";A3))}这确保电子表格将比较string像“cellvlaue |” againts“pattern1 |”,“pattern2 |” 如pattern1 =“新添加”,pattern2 =“added”(匹配“added”的所有单元格之和会过高,包括匹配“新添加”的单元格的目标值,这将是一个逻辑错误)