前面更新了FILTER函数系列,有些粉丝跟着文章一起学习后,后台私信我,这个函数确实是好用,但是在一些特殊的需求中就不知道怎么用这个函数了?如返回的结果需要多列,但是这些列又不是连续的,如下图所示:需要返回不带成本的具体每个业务的数据,也就是标记颜色的列

如返回李白负责的制令单号,具体还有多少数量未发货,因为安排生产的时候,对于制造来说,成本是不需要知道的。如果按前面的FILTER函数定义来说,想要返回不连续列就比较困难,返回多列就比较简单。

录入函数:=FILTER(B$2:K$13,H2:H13="李白").

就直接返回来,函数理解起来也简单,就是第一参数返回的结果,第二参数指定列区域对应的条件“李白”。

如果需要返回不连续的列,比较“笨的方法就是分两次写了,用FILTER+FILTER函数两次返回来写上,如果列是比较少还好,比较多的话就麻烦了。如上图的公式更改一下:

写两次:=FILTER(B$2:C$13,H2:H13="李白")

=FILTER(H$2:K$13,H2:H13="李白")

其实就用本身FILTER函数来说,确实不好实现,如果配合上其他函数就相对简单了,此时CHOOSECOLS函数就可以上场了,这个函数的的目的就是选中区域,根据参数返回的对应的列。

=CHOOSECOLS(B2:K11,1).就返回1

=CHOOSECOLS(B2:K11,1,2),就返回2

……

需要返回不连续的列,只需要把列号的数字更改。

录入函数:=CHOOSECOLS(B2:K11,1,2,7,8,9,10)

只要出现了这个结果,就是非常简单了,只需要再次嵌套FILTER函数就可以快速筛选出指定业务的制令单号数据,录入函数:

=FILTER(CHOOSECOLS(B2:K11,1,2,7,8,9,10),H2:H11="李白")

可以发现没有标题,标题可以直接复制粘贴,也可以用公式串联起来,写一个公式。前面已经讲过,加标题就用VSTACK或者HSTACK

录入函数:=HSTACK(B2:C2,H2:K2)

再合并成一个公式:录入函数

=VSTACK(HSTACK(B2:C2,H2:K2),FILTER(CHOOSECOLS(B2:K11,1,2,7,8,9,10),H2:H11="李白"))

合并成一个公式的好处就是,建模的时候不需要多处公式进行填充了,这就是365版本的优势。

举报/反馈

古哥计划

3829获赞 3241粉丝
生产计划专家,职场专家
关注
0
0
收藏
分享