返回带有通配符的索引数组



我有一个公式,本质上是"搜索"索引并返回匹配数组。但是,当我引入通配符时,它不再有效。我试图实现的是搜索字符串的一部分并返回其中包含该字符串的所有值的能力。

例:

  • 单元格 A1:C10 分别包含项目名称、项目位置和描述。
  • 单元格 D1 中有"扳手"一词。
  • 单元格 D2:D10 有一个公式,该公式将返回所有匹配项,其中包含描述性单词扳手(盒子扳手、扳手、扭矩扳手等(。

以下公式是我正在使用的,只有当我有描述的确切措辞时,它才有效。 在这种情况下,它只会返回扳手匹配,而不是其他类型的扳手。

INDEX(Table2[Item Location],SMALL(IF(("*"&$D$1&"*"="*"&Table2[Item Description]&"*"),MATCH(ROW(Table2[Item Description]), ROW(Table2[Item Description]),0), ""), ROWS($A$1:A1))))

我希望返回所有扳手类型的项目位置,而不仅仅是"扳手"。

我发现在使用通配符时似乎不能使用 SMALL,否则索引匹配允许您使用通配符。经过多次试验和错误,我的解决方案是使用以下公式:

=IFERROR(INDEX(Table2[Item Location],AGGREGATE(15,6,(ROW(Table2[Item Description])-ROW($A$2)+1)/ISNUMBER(SEARCH($D$1,Table2[Item Description])),ROWS($A$1:A1))),"")

这将返回任何匹配的项目描述,而不考虑字符(部件工作(并为项目位置编制索引。

最新更新