【问题标题】:How to return multiple results in the same cell using Index, Match and Search如何使用索引、匹配和搜索在同一单元格中返回多个结果
【发布时间】:2019-07-10 12:42:00
【问题描述】:

我有一个有效的索引、匹配、搜索公式,它可以在我的产品标题中搜索我在键中确定的特定术语,如果没有找到结果,那么它会使用不同的键搜索我的产品 SKU。

目前,该公式只给我它在我的键中找到的第一个结果,但我希望它返回尽可能多的结果,所有结果都用管道或逗号分隔。

这是给我 1 个结果的工作公式。

=IF((ARRAYFORMULA(INDEX('Array Key'!$J:$J,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$I:$I,$B2)),0))))="",(ARRAYFORMULA(INDEX('Array Key'!$L:$L,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$K:$K,$A2)),0)))),(ARRAYFORMULA(INDEX('Array Key'!$J:$J,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$I:$I,$B2)),0)))))

如果我能让它工作,那就太棒了。这是我的电子表格副本的链接,如果有人想查看它的工作原理。随意进行任何编辑。

https://docs.google.com/spreadsheets/d/1APLCVnqmP51UbimyZeY-S0BoSEuFWkPa2LtAxVX9H0E/edit?usp=sharing

我尝试使用以下公式,但效果并不理想。

=IF((ARRAYFORMULA(INDEX('Array Key'!$F:$F,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$E:$E,$B2)),0))))="",(ARRAYFORMULA(INDEX('Array Key'!$H:$H,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$G:$G,$A2)),0)))),(ARRAYFORMULA(INDEX('Array Key'!$F:$F,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$E:$E,$B2)),0)))))&" | "&(ARRAYFORMULA(INDEX('Array Key'!$H:$H,MATCH(TRUE,ISNUMBER(SEARCH('Array Key'!$G:$G,$A2)),0))))

此公式再次搜索第二个键并连接所有结果。但是,我得到了重复,它仍然只返回找到的第一个结果。

【问题讨论】:

  • 你应该看看TEXTJOIN()函数:)
  • 我看了一点我只是不知道如何将它应用到我的公式中:(
  • 您是否有任何理由标记Excel,因为现在另一个用户将其从问题中删除。如果它没有相关性,你应该把它排除在外。
  • D2 单元的期望输出应该是什么??
  • 单元格 D2 的所需输出将是 War |单元格 E25 和单元格 E41 中的 Array Key 选项卡中的恐怖死亡有 2 个类别,我想在单元格 D2 中分配

标签: google-sheets google-sheets-formula array-formulas gs-vlookup textjoin


【解决方案1】:

如果是这样的话:


那么 D2 单元格将是:

=ARRAYFORMULA(TEXTJOIN(" | ", 1, UNIQUE({
 IFERROR(VLOOKUP(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(B2, " "), 
 TEXTJOIN("|", 1, 'Array Key'!E$3:E)))), 'Array Key'!E$3:F, 2, 0));
 IFERROR(VLOOKUP(TRANSPOSE(IFERROR(REGEXEXTRACT(SPLIT(A2, " "), 
 TEXTJOIN("|", 1, 'Array Key'!G$3:G)))), 'Array Key'!G$3:H, 2, 0))})))

【讨论】:

  • 太棒了。这和我想要的完全一样。非常感谢您的帮助!
  • 您好,我刚刚在稍作休息后又重新开始了这个项目,我想知道您是否可以提供帮助?这是我正在处理的工作表的链接docs.google.com/spreadsheets/d/… 我不太明白为什么我会得到一些结果。例如,我以深灰色突出显示的“星球大战”产品没有被分配主题,即使标题中存在“星球大战”一词(如您在第 103 行的“阵列键”选项卡中所见)星球大战”存在那里)
  • 现在检查您的工作表
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多