的Excel:比较与部分列的列字符串列表,如果匹配则返回部分字符串

问题描述:

Example representation的Excel:比较与部分列的列字符串列表,如果匹配则返回部分字符串

我在A列中的字符串我想匹配G列项的列表(部分列)列A中的字符串。如果匹配,我想打印出列B(输出)中的部分字符串。

我用下面的公式 -

=IF(SUMPRODUCT(--ISNUMBER(SEARCH(G:G,A1)))>0,"found","notfound") 

打印出来foundnotfound字符串,但我不能够在列B打印出的部分字符串值

任何帮助将是赞赏。

可以使用INDEX与集料返回的行号:

=IFERROR(INDEX(G:G,AGGREGATE(15,6,ROW($G$2:$G$3)/(ISNUMBER(SEARCH($G$2:$G$3,A2))),1)),"") 

骨料是阵列类型的公式和作为这样的参考文献中需要被约束到所述数据集,而不是一个完整的列引用。

而且子字符串必须在更大的字符串匹配完全在你的榜样Please contact agent不会在Please contact the agent发现作为the拆分字符串,将不匹配。

enter image description here


为了使配方更加动态的,因此它并不需要每一个子字符串被添加或从列表中删除,并仍然保持我们可以用另一种最小的参考时间进行编辑INDEX/MATCH找到列表的末尾并将其设置为参考的结尾。

=IFERROR(INDEX(G:G,AGGREGATE(15,6,ROW($G$2:INDEX(G:G,MATCH("ZZZZ",G:G)))/(ISNUMBER(SEARCH($G$2:INDEX(G:G,MATCH("ZZZZ",G:G)),A2))),1)),"") 
+0

只是我吗?为什么你的配方对我没有任何回报? – ManishChristian

+0

@ManishChristian我没有照片购物的照片,它正在为我做广告。检查以确保文本匹配。试着在你认为应该匹配的单元格上执行SEARCH部分,并查看它是否返回错误,如果没有找到另一个单元格中的文本。 –

+0

我根本不怀疑你的能力。我只是想知道为什么它不适合我。现在打破并调试它。 – ManishChristian