所以我有两个范围:
句
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))
调整公式会让我得到有限的结果。一些帮助会很棒!再次感谢
答案 0 :(得分:0)
要查找第一个名称,您可以使用以下array formula(由 Ctrl + Shift + Enter 输入):< / p>
=IFERROR(
INDEX(names, MIN(MATCH(TRUE, ISNUMBER(SEARCH(names, [@Sentences])), 0))),
"other")
说明:
SEARCH(names, [@Sentences])
会比较范围内的每个名称&#34;名称&#34;当前的句子
MIN(MATCH(TRUE, ISNUMBER(...), 0))
会找到第一个匹配的名称
INDEX(names, ...)
将检索名称
IFERROR(..., "other")
会处理不匹配的情况
对于K$2:K$999
,请使用K:K
而不是names
等有限范围,对于整列(或-row)范围,数组公式未得到很好的优化。
请注意,[@Sentences]
是Excel Table符号,如果单元格G19
包含单个句子,则它应与您的问题中的G19
等效。