所以我有两个范围:
句子
我是汤姆我是马特我是约翰乔尼是我的名字莫莉很酷
名字
波莉莫莉John马 特汤姆罗尼
所以我想将名称与句子进行比较,如果句子中存在名称中的单词,我想在结果中打印相应的名称。如果句子中不存在任何单词,我希望公式打印"其他"。
这里有任何帮助。我已经通过多个过滤器和一个非常大的公式做到了这一点。但我想简化这个。
这是我到目前为止使用的公式,没有结果
=(IF(ISNUMBER(SEARCH(K:K,G19)),K:K))
调整公式会给我有限的结果。一些帮助会很棒!再次感谢
要查找第一个名称,可以使用以下数组公式(由 Ctrl+Shift+Enter 输入):
=IFERROR(
INDEX(names, MIN(MATCH(TRUE, ISNUMBER(SEARCH(names, [@Sentences])), 0))),
"other")
解释:
SEARCH(names, [@Sentences])
会将"名称"范围内的每个名称与当前句子进行比较MIN(MATCH(TRUE, ISNUMBER(...), 0))
将找到第一个匹配的名称INDEX(names, ...)
将检索名称IFERROR(..., "other")
将处理未找到匹配的情况
请使用像 K$2:K$999
这样的有限范围而不是 K:K
对于names
,数组公式对于整列(或 -row)范围没有很好地优化。
请注意,[@Sentences]
是 Excel 表格表示法,但如果单元格G19
包含单个句子,它应该等效于从您的问题中G19
。