Search Excel VLOOKUP与搜索组合
我试图在一列文本中搜索文本字符串的一部分,然后返回第二列。希望这个例子会更有意义(请注意,这个例子是虚构的——我无法公布我使用的确切数据,但这与之类似) 例如:Search Excel VLOOKUP与搜索组合,search,excel,substring,vba,Search,Excel,Substring,Vba,我试图在一列文本中搜索文本字符串的一部分,然后返回第二列。希望这个例子会更有意义(请注意,这个例子是虚构的——我无法公布我使用的确切数据,但这与之类似) 例如: A D E Really good dog Good dog text1 red dog collar Brown dog text2 Brown Toy dog
A D E
Really good dog Good dog text1
red dog collar Brown dog text2
Brown Toy dog big dog text3
dog collar text4
dog walking text5
A B
Really good dog text1
red dog collar text4
Brown Toy dog Not Found
因此,对D列进行搜索,以提供与a列中第一个值的匹配,如果有匹配,则返回E列中的相应文本,如果没有匹配,则返回“Not Found”。正如您从预期结果B列中看到的,字符串“Good dog”出现在“Really Good dog”中,因此“Really Good dog”的结果为“text1”。请注意,这种情况并不重要
我一直在和你玩
=(VLOOKUP("*"&DCE!X2&"*",Lookups!$K$2:$L$19,2,FALSE))
这不起作用,因为单元格中并非所有的文本字符串都可以与值匹配。
我试过使用
=IF(SUMPRODUCT(--(NOT(ISERR(SEARCH($A$1:$A$3,C1)))))>0,"1","")
如果我能在搜索范围内与单元格交换范围,那就太好了
我知道这些公式有一个匹配版本,但我也没能让它起作用
我使用的唯一公式是一个巨大的嵌套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多个要搜索的项目创建它。这将查看搜索列(D列)中的第一个值是否包含在查找字符串(A列)中,如果是,则返回结果(E列),如果不是,则返回“未找到”
此外,上述公式中的单元格引用与示例没有直接关系,它们只是我一直在尝试的公式的示例(我在本网站的各种帖子上都找到了)
如有任何建议,将不胜感激。很抱歉,如果这很难完成,我是Stackoverflow的新手。问得好!这适用于您提供的示例: 这是一个数组公式,需要Control+Shift+Enter确认 它所做的是创建一个
Find
数组,并将它们转换为布尔值(NOT((NOT…)
部分。然后--
部分将布尔值转换为1
,然后MATCH
在数组中找到该1
的位置,这就是我们需要的行。只要数据从第1行开始,这项功能就可以工作,但可以轻松地修改以使其工作。不过,我不能完全确定它是否满足您的所有需要..F例如,一个潜在的问题是,如果列B
中有两个相同的字符串,则由于MATCH()
函数的工作方式,它将返回上一个字符串
鬼鬼祟祟,但它可能会起作用!这很好用,非常感谢您的帮助!B列中不会有相同的字符串,因此这不是问题。我现在可以使用该公式,这样我就可以有一个稍微不同的布局。此外,我将FIND(搜索)更改为SEARCH(因此它不区分大小写)。再次感谢您的帮助。