首页 > 解决方案 > 使用关键字返回结果

问题描述

我有一个工作簿,其中有一个选项卡(Clarity),其中包含大量历史信息(A-IV 列和 c15k 行)。

我创建了第二个选项卡来使用 1 个或多个关键字搜索清晰度信息。

单元格C2是关键字输入单元格,我希望将结果(使用 12 列的一小部分)显示在单独的表格中。

我在单元格中创建了以下公式C5(使用 ctrl shift enter):

{=IFERROR(INDEX(Name,SMALL(IF(ISNUMBER(SEARCH($C$2,Name)),ROW(Name)-ROW(INDEX(Name,1,1))+1),ROWS(C$5:C6))),"")}

然后将此公式复制到 cell C30。然后,我VLOOKUP根据 C 列中的信息在其他 11 列中创建了 s。

它似乎有效,但它会在源数据中没有的地方创建重复记录。它只搜索一列(Clarity 选项卡中的 D 列,我将其命名为“名称”)从输入关键字到获得结果大约需要 10-20 秒。

如果我尝试让它搜索所有列,我没有得到任何结果 - 我的公式有问题吗?有没有更有效的方法来做到这一点?

标签: searchexcel-formulawildcard

解决方案


=IFERROR(INDEX(Name,SMALL(IF(ISNUMBER(SEARCH($B$2,Name)),ROW(Name)-ROW(INDEX(Name,1))+1),ROW(1:1))),"")

我更新ROWS(C$5:C6)为仅引用ROW(1:1),以便首先找到第一个最小匹配,并且当公式被向下拖动时,该行将更新。

在此处输入图像描述

假设您要对整行进行评估,让名称管理器将整个串联行存储为每个数组对象。


推荐阅读