如何查找string列表中是否存在子string(如果是,则返回列表中的完整值)

我有一个在A5品牌名称列表:A7655我有一个潜在的子串在D5列表:D1400

我需要为每个子string尽可能find相应的品牌名称。 大多数这些子string都包含在品牌名称列表中的一个单元格中。 返回列表中的第一个品牌名称,这是const罚款。

例如:我在D5的子string是“ABC工作室” – 如果我search我的整个列表,我看到有一个品牌名称“ABC工作室,有限责任公司”。 在E5我想要返回ABC Studios,LLC。 如果列表中没有匹配,返回0或者没有问题。

我玩了= ISNUMBER(search(A5,$ D $ 5:$ D $ 1400))没有成功。 谢谢!

find最后一个匹配的string实际上在公式方面稍微直截了当:

= IFERROR(LOOKUP(2 ^ 15,SEARCH(D5,$ A $ 5:$ A $ 7655),$ A $ 5:$ A $ 7655),“找不到匹配”)

为了find第一个匹配的string:

= IFERROR(INDEX($ A $ 5:$ A $ 7655,MATCH(TRUE,INDEX(ISNUMBER(SEARCH(D5,$ A $ 5:$ A $ 7655)),,),0)),“No Match Found”

问候

E5中input:

=IFERROR(OFFSET(A5,MATCH("*" & D5 & "*",A5:A7655,0)-1,0),"") 

并抄下来。

我会build议用二维网格来做这个。 将品牌名称用作左列(行标签),将子string用作顶行(列标题)。 那么B2中的公式是:

 =IF(ISERROR(FIND(B$1,$A2)),B$1,$A2) 

填写该公式,并在底部的行将充满每个子string的最后一个品牌名称。 如果没有find品牌名称,它只会返回子string。 (可以通过在填充完成之后改变第一行中的公式来返回空白 – 用""replaceB$1