新函数Scan, 具有扫描功能的超级函数

AI智能摘要

此内容由AI根据文章内容自动生成

SCAN是Excel365和WPS新增的超级函数,虽冷门但功能强大,能配合lambda函数遍历数组,将每次处理结果储备在初始值中,实现数据扫描与处理。如计算销量大于5的累计销量,传统方法需多步,而用SCAN函数,结合IF和SUM,一行公式即可轻松搞定。此外,SCAN还能实现动态排名、动态分组统计等复杂操作,让数据处理更高效。

SCAN,Excel365新增的函数(WPS也已增加),一个超冷门的函数。但它却是一个自带扫描功能的超级函数。

语法:

图片[1]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

注:这个函数会配合lambda函数遍历数组中的每个值,通过判断等运算把处理后的每一次结果储备在初始值中。

来个简单的例子

A列日期,B列是销量,现要求在C列计算销量大于5的累计销量,可以用Countif函数统计:

=COUNTIF(B$2:B2,”>5″)

图片[2]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

如果用Scan函数,公式则为:

=SCAN(0,B2:B16,LAMBDA(X,Y,IF(Y>5,X+1,X)))

注:0是初始值, X是每一步初始值变化后的值,Y是区域(B2:B16)中的每个值。F(Y>5,X+1,X) 根据Y值判断,改变X值每一个步的值。

图片[3]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

估计很多人迷糊了,有简单的Countif公式,还要Scan这么复杂的公式?

当然有用,它生成的是一个内存数组。哇,越来越晕了?好吧,还是看一个示例

估计很多人都被合并单元格的问题困扰过,如下面的含合并单元格的多条件查找,因为B列是合并单元格,什么xlookup,Lookup都无法查找出结果。

图片[4]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

而SCAN则可以完成合并单元格的批量填充值,

=SCAN(,B$2:B$19,LAMBDA(X,Y,IF(Y=””,X,Y)))

注:初始值为空白,利用Y对B列值进行逐个判断,如果为空则该次结果还是上次的初始值X,否则为Y值。

图片[5]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

有了这样的结果,就可以利用Xlookup进行多条件查找了。

=XLOOKUP(K2&L2,SCAN(,B$2:B$19,LAMBDA(X,Y,IF(Y=””,X,Y)))&C$2:C$19,E$2:E$19)

图片[6]-新函数Scan, 具有扫描功能的超级函数-宇程系统站

除了SCAN,新增函数中还有MAP、 REDUCE有遍历功能,这以前只有VBA中才可以实现的效果,可以让公式变得无法强大。

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像-宇程系统站
欢迎您留下宝贵的见解!
提交
头像-宇程系统站

昵称

取消
昵称表情代码图片链接快捷回复
    暂无评论内容

    暂无评论内容