Excel 2013,如何为我们提供;搜索“;类似于vlookup的函数

Excel 2013,如何为我们提供;搜索“;类似于vlookup的函数,excel,class,search,formula,vlookup,Excel,Class,Search,Formula,Vlookup,本质上,我正在寻找一种使用“搜索”函数的方法,比如“vlookup”函数。在我的例子中,我有一个很长的列表,比如说,1000种不同类型的紧固件的描述,我想根据它们是什么(即螺母、螺栓、垫圈等)对它们进行分类。然而,我不能按描述或零件号排序,因为它们不是按类排列的。但他在描述药剂场时确实在某个点上说了它是什么(即螺母、螺栓、垫圈等)。 如前所述,我有一个类表,我正在寻找一个公式,该公式将在“description”字段中查找表中的所有值,然后返回该值或与之关联的值(就像vlookup处理单元格值一

本质上,我正在寻找一种使用“搜索”函数的方法,比如“vlookup”函数。在我的例子中,我有一个很长的列表,比如说,1000种不同类型的紧固件的描述,我想根据它们是什么(即螺母、螺栓、垫圈等)对它们进行分类。然而,我不能按描述或零件号排序,因为它们不是按类排列的。但他在描述药剂场时确实在某个点上说了它是什么(即螺母、螺栓、垫圈等)。
如前所述,我有一个类表,我正在寻找一个公式,该公式将在“description”字段中查找表中的所有值,然后返回该值或与之关联的值(就像vlookup处理单元格值一样)。
因此,如果它在描述中找到“nut”,它将返回“nut”,或者如果它找到“bolt”,它将返回“bolt”

我希望这个问题有意义。我还想说,我找到了一种使用搜索函数和其他函数“手动”执行此操作的方法,但公式非常长,必须专门调用表中的每个值。但是,我将包括我用来说明我想做什么的公式。
见下文

=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(查找(2^15,搜索($G$3:$G$13,C3),$G$3:$G$13),“杂项”)


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

匹配
可用于查找文本,而
索引
可用于返回文本

=INDEX($G:$G,MATCH("*"&C3&"*",$G:$G,0))
使用您正在
G
中搜索的示例:

=MATCH("*"&C3&"*",$G:$G,0)
然后索引以返回文本

=INDEX($G:$G,MATCH("*"&C3&"*",$G:$G,0))
作为画龙点睛之作,#价值观替换

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

如果C3是其中一个列G值的“子字符串”,则此方法有效……但我认为情况正好相反。C3包含的描述可能包含G3:G13中的一个(或多个?)子字符串-我的答案适用于此situation@barryhoudini,你是对的-我总是把这些弄混(因为我似乎总是用
MATCH
来管理)