如何使用Excel公式搜索包含关键字的单元格,并返回相应的值

问题描述

我在excel工作表中有一列,其中包含所有记录的问题描述。

该列是这样的:

enter image description here


pic1

我想创建另一个参考表以根据关键字对问题进行分类

例如参考页

enter image description here


pic2

该逻辑我应该使用哪个excel公式-如果描述列中包含关键字文本,请返回类别。

正在考虑使用if ...... = SUMPRODUCT(-ISNUMBER(SEARCH(.....,与vlookup结合使用。但无法获取它。

有人可以帮我吗?

解决方法

非数组版本为:

=INDEX($B$7:$B$10,AGGREGATE(15,6,(ROW($B$1:$B$4))/(ISNUMBER(SEARCH($A$7:$A$10,B1))),1))

另一个解决方案是 ARRAY-FORMULA:CTRL + SHIFT + ENTER:

=INDEX($B$6:$B$9,SMALL(IF(ISNUMBER(SEARCH($A$6:$A$9,B1)),ROW($B$1:$B$4)),1))

enter image description here

它只给出第一个找到的关键字。

编辑: AGGREGATE可以模仿多个Excel函数,在这种情况下,15的意思是SMALL6告诉函数忽略错误。这可用于过滤找到的关键字列表。基本上是行号除以关键字在单元格中的位置。对于第一个单元格,我们得到

  [1,2,3,4] / isnumber([9,#VAL!,#VAL!]) 
= [1,4] / [1,0]
= [1,#VAL!]

错误将被忽略,您将获得第1行的结果,该行可在INDEX中使用。