当前位置: 欣欣网 > 办公

filter查询结果出错?二次排序公式来了!

2024-04-17办公

昨天兰色推送的多列查询公式,忽略了filter筛选后的顺序,导致公式结果错误,今天特纠正一下。

原公式:

=FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(H1:P1,1),1:1,0)),COUNTIF(G2:G11,C2:C8)>0)

解决这个问题的思路是把生成的结果按G列排序。按G 列排序,先列出公式再解释

= DROP(LET(x, FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(G1:P1,1),1:1,0)),COUNTIF(G2:G11,C2:C8)>0) , SORTBY(x,MATCH(CHOOSECOLS(x,1),G:G,0) )),,1)

筛选后的结果

=FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(G1:P1,1),1:1,0)),COUNTIF(G2:G11,C2:C8)>0)

为了让公式更简捷,这里使用了LET函数,x在后面代替上面的筛选结果表达式

= LET(x,筛选结果部分

查询筛选结果A列在G列的位置,然后让筛选结果根据查询结果排序

SORTBY(x,MATCH(CHOOSECOLS(x,1),G:G,0)

排序后因为多了一列姓名,所以用drop把第一列删除掉

DROP(筛选后的结果,,1)

最后看一下动态结果:

本周日的课开始预约了