查找string并返回来自相邻​​单元格的信息

使用Excel 2010.我需要查看一组单元格中是否存在另一组单元格中的string,如果是,则返回与该string匹配的相邻单元格的信息。 我原本是用SEARCH,ISNUMBER和嵌套的IF语句完成的,但是我的源数据集有几十个条目,必须search的string有几百个条目。 数据类似于图片中的数据(一个简单的例子):

在这里输入图像说明

对于有限的数据集,我使用嵌套的IF语句,如:

IF(ISNUMBER(SEARCH($D$2,$A2,1)),"Cat Info",IF(ISNUMBER(SEARCH($D$3,$A2,1)),"Dog Info",IF(ISNUMBER(SEARCH($D$4,$A2,1)),"Elephant Info","Not Found"))) 

但是现在这两套数据都太大了,无法做到这一点。

我需要做的是在列A中searchstring中的关键字。如果find关键字,我需要从列E中返回相应的信息。

例如,在B2栏中,由于单词dog在A2中,所以我希望E3( Dog Section )的内容显示在B2中。

我的关键字列表是唯一的(列D,列表),我知道零或一个关键字将出现在列A(TheString)的string中。

我认为,INDEX&MATCH函数可能是我的解决scheme的一部分,但我不确定如何find哪个List关键字在string中,然后返回Information列的值。

不需要VBA。 这可以用一个简单的公式完成:

在单元格B2中input此公式:

 =LOOKUP(2,1/SEARCH(D$2:D$7,A2),E$2:E$7) 

根据需要向下复制。

注意:将范围参考调整为您的数据的大小。

没有做到这一切,但这个公式

= MAX(IF(ISNUMBER(SEARCH(D1,$ A $ 1:$ A $ 4,1)),ROW($ A $ 1:$ A $ 4),0))

数组公式

将会给你包含D1等的A1:a4所在的行。 那么你可以索引。 但是它只会显示最大的行,所以如果它在1&2,那么它将只显示第2行。

干杯。