excel学习库

excel表格_excel函数公式大全_execl从入门到精通

79 如何让筛选函数全自动填充?

以前写了一个系列文章,《FILTER就是Excel针对计划员定制专属的函数》详细的介绍了FILTER函数的用法,最近有一个粉丝说,这个函数已经学会了,非常好用,有点美中不足的就是这个函数不能自动填充,每次数据更新后,都需要手动填充公式,问古老师能否创建一个不需要填充的公式,实现一键填充。

还是用一个经典的案例来说明一下两者的区别,先看数据,数据是一个一维数据,把每一个零件的工序详细的记录好了,现在需要把这一份数据转成二维的数据,目的就是让零件对应工序看起来更加直观。

手动填充的方法

原来需要填充的方法步骤如下:

步骤1:把产品代码去重(垂直方向),录入公式:=DROP(UNIQUE(A:A),-1),并去除最后一行的“0”。

步骤2:水平方向,手工录入工序1、工序2、工序3

步骤3:把产品工艺用筛选函数筛选出来,并用转置函数转成水平方向,录入函数:=TOROW(FILTER(C:C,A:A=A2)),下拉填充,一个标准的二维报表就做好了。

这样的方法就虽然得到了想要的结果,但是,当源数据有更新的时候,还是需要把函数向下填充,才能更新数据,不是真正意义上的“一键”填充。

一键填充的思路

要实现一键填充公式,传统的思路肯定不行了,因为如果用FILTER函数第二参数中的=TOROW(FILTER(C:C,A:A=A2)),等于A2这里不支持数组,也就是说只能等于一个单元格条件。

所以需要换成REDUCE+LAMBDA的函数来解决这个问题。这两个函数解决了以前Excel无法“递归”的问题,整个步骤比较复杂,如需要用文字来详细解答这个函数的思路,确实有点难,所以只上步骤了。

步骤1:录入函数:E2=DROP(DROP(UNIQUE(A:A),-1),1),A列的代码去重,并把标题和最后一位0去掉;

步骤2

=REDUCE("",E2#,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C:C,A:A=Y)))))

步骤3:需要把步骤2的错误和第一行去除,继续录入函数:

=IFNA(DROP(REDUCE("",E2#,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C:C,A:A=Y))))),1),"")

可以看到,已经实现了一键填充了,最后需要的就是加上标题了

步骤4:工序有几个,这个是动态的,所以需要用公式判断一下,录入公式:

=COUNTA(TAKE(IFNA(DROP(REDUCE("",E2#,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C:C,A:A=Y))))),1),""),1))

判断出最大工序是5

步骤5:配合SEQUENCE函数实现动态“编号”

="工序"&SEQUENCE(,COUNTA(TAKE(IFNA(DROP(REDUCE("",E2#,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C:C,A:A=Y))))),1),""),1)))

公式合并

上面的公式分开了3个地方写,还是有可能被误操作,利用函数再次把这3个公式合并成一个公式,配合LET函数定义好,实现最短代码。

录入:

=LET(E,DROP(DROP(UNIQUE(A:A),-1),1),B,IFNA(DROP(REDUCE("",E,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C:C,A:A=Y))))),1),""),VSTACK(HSTACK("零件","工序"&SEQUENCE(,COUNTA(TAKE(B,1)))),HSTACK(E,B)))

温馨提醒

FILTER函数在选择整列的时候运算速度会非常慢,所以需要注意的是预留行数根据实现数据量预警,一般的数据预留10000行足够了,再大的话,更改这个范围就可以了。这比整列100多行少了不少的运算量。所以公式更改为:

=LET(E,DROP(DROP(UNIQUE(A1:A10000),-1),1),B,IFNA(DROP(REDUCE("",E,LAMBDA(X,Y,VSTACK(X,TOROW(FILTER(C1:C10000,A1:A10000=Y))))),1),""),VSTACK(HSTACK("零件","工序"&SEQUENCE(,COUNTA(TAKE(B,1)))),HSTACK(E,B)))

这样,运算速度快非常多。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接