Excel 2013,如何让我们像“查找”function,如查找

本质上,我正在寻找一种像“vlookup”function一样使用“search”function的方法。 在我的情况下,我有一个很长的名单,比如1000个不同types的紧固件的描述,我想根据它们是什么(即螺母,螺栓,垫圈等)进行分类。 然而,我不能按照说明或零件编号来分类,因为它们在字母数字上不按类别排列。 但是他的描述领域确实在某种程度上说,它是什么(即螺母,螺栓,垫圈等)。
如上所述,我有一个类的表,我正在寻找一个公式,将在“描述”字段中查看表中的所有值,然后返回该值或与之关联的值(如vlookup用单元格值)。
因此,如果在描述中find“nut”,它将返回“nut”,或者如果它find“bolt”,它将返回“bolt”。

我希望这个问题是有道理的。 我还要说,我发现了一种“手动”的方式,使用searchfunction以及其他方法,但公式非常长,我的表中的每个值都必须被特别调出。 但是,我将包括我用来明确我想要做什么的公式。
见下文。

=IF(ISNUMBER(SEARCH($G$2,C3)),$G$2,IF(ISNUMBER(SEARCH($G$3,C3)),$G$3,IF(ISNUMBER(SEARCH($G$4,C3)),$G$4,IF(ISNUMBER(SEARCH($G$5,C3)),$G$5,...IF(ISNUMBER(SEARCH($G$13,C3)),$G$13,"MISC")))))))))))) 

你看到,你添加到你的表中的每个项目,你必须添加另一个if循环。 我希望有一个更好的方法。 (我会称之为“vsearch”:-))

试试这个公式

=IFERROR(LOOKUP(2^15,SEARCH($G$3:$G$13,C3),$G$3:$G$13),"MISC")

SEARCH根据是否在C3中find每个术语返回一个数字或错误数组。 通过search将找不到的“bignum”(在本例中为2^15 ),匹配总是与最后一个数字相匹配,即G3:G13中的最后一个匹配项。

MATCH可以用来查找文本, INDEX可以用来返回文本

用你的例子,你在G中search的地方:

 =MATCH("*"&C3&"*",$G:$G,0) 

然后索引返回文本

 =INDEX($G:$G,MATCH("*"&C3&"*",$G:$G,0)) 

并作为画龙点睛, #VALUE! 替代

 =IFERROR(INDEX($G:$G,MATCH("*"&C3&"*",$G:$G,0)),"MISC")