Excel - 在句子中搜索不同的单词,如果单词存在于句子中,则打印单词或打印其他单词

时间:2014-12-15 21:37:27

标签: excel compare

所以我有两个范围:

I am tom
I am Matt
I am John
Johhny is my name
Molly is cool

姓名

Polly
Molly
John
Matt
Tom
Ronnie

所以我想将Names与Sentences进行比较,如果Sentence中存在Names中的单词,我想在Result中打印相应的名称。如果一个句子中没有单词,我希望公式打印"其他"。

这里有任何帮助。我通过多个过滤器和一个非常大的公式来做到这一点。但我想简化这一点。

这是我到目前为止使用的公式,没有结果

=(IF(ISNUMBER(SEARCH(K:K,G19)),K:K))

调整公式会让我得到有限的结果。一些帮助会很棒!再次感谢

1 个答案:

答案 0 :(得分:0)

要查找第一个名称,您可以使用以下array formula(由 Ctrl + Shift + Enter 输入):< / p>

=IFERROR(
  INDEX(names, MIN(MATCH(TRUE, ISNUMBER(SEARCH(names, [@Sentences])), 0))),
  "other")

说明:

  1. SEARCH(names, [@Sentences])会比较范围内的每个名称&#34;名称&#34;当前的句子

  2. MIN(MATCH(TRUE, ISNUMBER(...), 0))会找到第一个匹配的名称

  3. INDEX(names, ...)将检索名称

  4. IFERROR(..., "other")会处理不匹配的情况

  5. 对于K$2:K$999,请使用K:K而不是names等有限范围,对于整列(或-row)范围,数组公式未得到很好的优化。

    请注意,[@Sentences]Excel Table符号,如果单元格G19包含单个句子,则它应与您的问题中的G19等效。