ste*_*e_o 0 excel vba excel-vba excel-formula
使用Excel 2010.我需要查看另一组单元格中是否存在一组单元格中的字符串,如果存在,则返回与该字符串匹配的相邻单元格中的信息.我最初用SEARCH,ISNUMBER和嵌套的IF语句完成了这个,但我的源数据集中有几十个条目,必须搜索的字符串有几百个条目.数据类似于图片中的数据(简化示例):
对于有限的数据集,我使用嵌套的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")))
Run Code Online (Sandbox Code Playgroud)
但现在这两组数据都太大而无法做到.
我需要做的是在列A中搜索字符串D中的关键字.如果找到关键字,我需要从列E返回相应的信息.
例如,在B2列中,由于单词dog在A2中,我希望E3(Dog Section)的内容显示在B2中.
我的关键字列表是唯一的(列D,列表),我知道在列A(TheString)的字符串中会出现零个或一个关键字.
我认为INDEX和MATCH函数可能是我的解决方案的一部分,但我不确定如何在字符串中找到哪个List关键字然后返回Information列值.
不需要VBA.这可以通过一个简单的公式来完成:
在单元格B2中输入此公式:
=LOOKUP(2,1/SEARCH(D$2:D$7,A2),E$2:E$7)
Run Code Online (Sandbox Code Playgroud)
尽可能向下复制.
注意:调整范围参考数据的大小.