自动筛选条件怎么做,怎么在自动筛选上快速筛选

首页 > 手工 > 作者:YD1662023-11-12 07:10:42

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

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

自动筛选条件怎么做,怎么在自动筛选上快速筛选(1)

手动填充的方法

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

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

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

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

自动筛选条件怎么做,怎么在自动筛选上快速筛选(2)

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

一键填充的思路

要实现一键填充公式,传统的思路肯定不行了,因为如果用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)

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

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

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

自动筛选条件怎么做,怎么在自动筛选上快速筛选(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.