Map函数实例 | 您所在的位置:网站首页 › match函数的参数lookup_array › Map函数实例 |
问题:B2:G6是各区域连续六周的销量数据,现需要计算每个区各得过几次第一、第二、第三、第四、第五。 =SUM(N(MAP(SEQUENCE(,6),LAMBDA(a,INDEX(SORTBY($A$2:$A$6,OFFSET($A$2:$A$6,,a),-1),ROW(A1))))=B$8))使用公式“=SORTBY($A2:$A6,B2:B6,-1)”可以获得第11周各区域销量的排序,此公式右拉后可以得出每周的排序。 但是,这是一个纵向维度的内存数组右拉的结果,如果将其转成横向维度的数组呢? 如果把B2:B6部分改成Offset(A2:A6,,Sequence(,6)),再在整个公式外面套Index函数,第二参数用Row(A1),理论上是可以得到此结果,但实际,因Offset的结果是多维引用,所以公式最终显示为错误值。 但是借助于Lambda系列的Map函数,将Sequence(,6)作为其第一参数,也就是Lambda所定义的内容,就可以越过多维引用,公式如下: =MAP(SEQUENCE(,6),LAMBDA(a,INDEX(SORTBY(A$2:A$6,OFFSET(A$2:A$6,,a),-1),ROW(A1))))再以此与每个区进行比对,使用Sum+N的模式计算出各名次的次数。
|
CopyRight 2018-2019 实验室设备网 版权所有 |