Excel VLOOKUP和SEARCH组合

我正在尝试在文本列中search部分文本string,并返回第二列。 希望这将更有意义的一个例子(请注意,这个例子是由 – 我不能发布我正在使用的确切数据,但这是相似的)。

例如:

ADE Really good dog Good dog text1 red dog collar Brown dog text2 Brown Toy dog big dog text3 dog collar text4 dog walking text5 AB Really good dog text1 red dog collar text4 Brown Toy dog Not Found 

因此,列D被search以提供与列A中的第一个值匹配,如果匹配,则返回列E中的相应文本,如果不匹配则返回“未find”。 从预期的结果可以看出,栏B中的string“Good dog”出现在“真正的好狗”中,所以“真正好的狗”的结果是“text1”。 请注意,这种情况并不重要。

我一直在玩

 =(VLOOKUP("*"&DCE!X2&"*",Lookups!$K$2:$L$19,2,FALSE)) 

这不起作用,因为它不是单元格中的所有文本string都可以匹配一个值。 我试过使用

 =IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A$1:$A$3,C1)))))>0,"1","") 

如果我可以将范围与SEARCH内的单元格交换,那将会很好。

我知道这些公式有一个MATCH版本,但我还没有能够得到这个工作。

我工作的唯一公式是一个巨大的嵌套的IF语句

 =IF(ISNUMBER(SEARCH(Lookups!$K$2,X2)),Lookups!$L$2,IF(ISNUMBER(SEARCH(Lookups!$K$3,X2)),Lookups!$L$3,IF(ISNUMBER(SEARCH(Lookups!$K$4,X2)),Lookups!$L$4,IF(ISNUMBER(SEAR...... 

我不想为100多个项目创buildsearch。 这将查看search列(列D)中的第一个值是否包含在查找string(列A)中,如果是,则返回结果(列E),如果不是则返回“未find”。

此外,上述公式中的单元格引用与示例没有直接关系,它们只是我尝试过的公式的示例(我在本网站的各种post中find了这些公式)。

任何build议将不胜感激。 对不起,如果这很难遵循,我相当新的Stackoverflow。

很好的问题! 这适用于您提供的示例:

在这里输入图像说明

它是一个数组公式,所以需要用Control + Shift + Enter来确认。

它的作用是创build一个Find数组并将它们转换为布尔型( NOT((NOT...))部分,然后--部分将布尔转换为1MATCHfind该数组中的1数组,这是我们需要的行,只要数据从第一行开始,它就可以工作,但是它可以很容易地被修改,否则我不能完全确定它满足所有的需求。潜在的问题是,如果B列中有两个相同的string,由于MATCH()函数的工作方式,它将返回上一个string。

偷偷摸摸,但它可能做的工作!