如何使用索引,匹配和搜索在同一单元格中返回多个结果

时间:2019-07-10 12:42:00

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

我有一个有效的索引,匹配,搜索公式,可以在我的产品标题中搜索我在密钥中确定的特定术语,如果找不到结果,则可以使用另一个密钥搜索我的产品SKU。< / p>

当前,该公式仅给我它在键中找到的第一个结果,但我希望它返回尽可能多的结果,并用Pipes或逗号分隔。

这是给我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)))))

如果我能使它工作的话,那就太好了。如果有人希望看到它的工作,这是指向我的电子表格副本的链接。随时进行任何编辑。

SO: Rotate an image in C++ without using OpenCV functions

我尝试使用以下公式,但是按照我的意愿使用并不能完全有效。

=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))))

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

1 个答案:

答案 0 :(得分:0)

如果是这样的话:

enter image description here


然后 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))})))

0