Excel中VLOOKUP和搜索相结合(Excel VLOOKUP and SEARCH combi

2019-10-20 04:01发布

我试图寻找一个文本字符串的一部分,在一列文本,并返回第二列。 希望这将使用一个例子更有意义(注意,这个例子是由 - 我不能发布我用确切的数据,但是这类似于它)。

例如:

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列对应的文本匹配,如果不匹配,则返回“未找到”。 正如你可以预期的结果,B栏看到,字符串“好狗”出现“真的好狗”,因此“真的好狗”有“text1”中的结果之内。 需要注意的是不区分大小写。

我一直在玩弄

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

这不起作用,因为它不是所有单元格中的文本字符串,可匹配的值。 我已经尝试使用

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

这将是巨大的,如果我能交换的范围与搜索范围内的单元格。

我知道有这些公式的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多个项目来搜索。 此认为,如果在搜索列(列d)的第一个值被包含在查找字符串(A栏)内,并且如果它是它返回结果(列E)和,如果它不是,则返回“未找到”。

此外,在上述公式中的单元格引用不直接涉及到的例子,他们只是公式我一直在尝试的例子(我已经在不同的岗位上发现这个网站)。

任何建议将不胜感激。 很抱歉,如果这是很难坚持到底,我是相当新的#1。

Answer 1:

有趣的问题! 本工程为您提供的示例:

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

它所做的是它创造了一个数组Find的,并投下他们布尔(该NOT((NOT...))的一部分然后, --部分布尔转换为1MATCH找到的这个地方1中阵列,这是我们需要的行。这只要数据开始工作,从第1行,但它可以很容易地修改工作,否则,我不能完全肯定它满足您的所有需求,但..例如,潜在的问题是,如果有在列中有两个相同的字符串B ,它会返回一个上限,由于该方式MATCH()函数的工作。

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



文章来源: Excel VLOOKUP and SEARCH combination