首页 > 解决方案 > 如何使用excel公式搜索包含关键字的单元格,并返回相应的值

问题描述

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

该列是这样的:

在此处输入图像描述
图1

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

例如参考表

在此处输入图像描述
图2

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

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

任何人都可以帮助我吗?

标签: excelexcel-formulaformula

解决方案


非数组版本将是:

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

另一种解决方案是这个数组公式:CTRL + SHIFT + ENTER:

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

在此处输入图像描述

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

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

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

错误被忽略,结果是第 1 行,可用于INDEX.


推荐阅读