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



所以我有两个范围:

句子

我是汤姆我是马特我是约翰乔尼是我的名字莫莉很酷

名字

波莉莫莉John马 特汤姆罗尼

所以我想将名称与句子进行比较,如果句子中存在名称中的单词,我想在结果中打印相应的名称。如果句子中不存在任何单词,我希望公式打印"其他"。

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

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

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

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

要查找第一个名称,可以使用以下数组公式(由 Ctrl+Shift+Enter 输入):

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

解释:

  1. SEARCH(names, [@Sentences])会将"名称"范围内的每个名称与当前句子进行比较

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

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

  4. IFERROR(..., "other")将处理未找到匹配的情况

请使用像 K$2:K$999 这样的有限范围而不是 K:K 对于names,数组公式对于整列(或 -row)范围没有很好地优化。

请注意,[@Sentences]是 Excel 表格表示法,但如果单元格G19包含单个句子,它应该等效于从您的问题中G19

相关内容

  • 没有找到相关文章

最新更新