非动态数组版本下的筛选

问题:一对多查找(筛选)的结果需要横向排列,但是表格暂时不支持动态数组。

右拉下拉公式解决:

{=IFERROR(INDEX(FILTER($E:$E,$D:$D=$G2),COLUMN(A1)),"")}  

公式中的Filter部分筛选出满总D列中等产于G2对应E列的内容,其结果是多个单元格组成的数组。

使用Index提取数组中的内容,第二参数用Column(A1),右拉以后会变成序列数,以此依次提取Filter结果中的每一个。

当Filter结果的个数少于Index的第二参数时会产生错误值,需要用Iferror销错。

在支持动态数组的表格可以使用以下公式:

=TOROW(FILTER($E:$E,$D:$D=$G2))

 

posted @ 2023-12-17 15:00  熬肥妖  阅读(20)  评论(0编辑  收藏  举报