华丽丽地越过了多维引用的MakeArray(Excel函数集团)

先看看这个:九九乘法表新玩法

里面有个MakeArray的解法,但其实,MakeArray的强大之处还不止于此,比如,人家可以华丽丽地越过多维引用。

比如下图所示,需要对每天记录中的最大值进行求和,传统的多维引用公式有点烧脑……

 

=SUM(MAXIFS(OFFSET(B1:D1,ROW(1:8),),OFFSET(B1:D1,ROW(1:8),),"<>"))

这里,绝对不可以想当然地使用=SUM(MAX(OFFSET(B1:D1,ROW(1:8),))),想着先用Offset引用出从B1:D1向下偏移1、2、3……8行的每一行数据,再在外面套一个Max,对这每一行进行一个最大值的计算,因为Offset除第一个参数以外,其他四个参数中只要有一个用了Row或Column函数,其结果就是多维引用,绝大部分多维引用无法在一个平面内正常显示,只有通过MaxIfs函数进行处理。

但是,MakeArray就可以!

=SUM(MAKEARRAY(8,1,LAMBDA(r,c,MAX(OFFSET(B1:D1,r,)))))

公式中的Row(1:8)被r代替,而r是Lambda所定义的一个值,用在了MakeArray里,就变成了第一个参数所对应的值。

然后,就没有多维引用了!

Ps,这里Index也可以用:

=SUM(MAKEARRAY(8,1,LAMBDA(r,c,MAX(INDEX(B2:D9,r,)))))

相关视频:https://v.douyin.com/BAAcYvH/

posted @ 2022-11-12 18:36  熬肥妖  阅读(185)  评论(2编辑  收藏  举报