打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
矩阵乘积函数mmult进阶应用5:累加求和

小伙伴们,大家好。今天继续来说mmult的累加应用,这次的题目是按指定次数重复内容。有关这个问题,我们之前也说过很多方法,今天来详细说说mmult的方法。

先来看看数据源和最后的效果。下图左表是数据源,A列是要重复的内容,B列是要重复的次数。返回的结果如D列所示。在D2单元格输入公式=LOOKUP(ROW(A1),MMULT(N(ROW($1:$5)>COLUMN(A:D)),B$2:B$5)+1,A$2:A5)&"",下拉完成。

咱们还是先看mmult的部分,它的第1参数N(ROW($1:$5)>COLUMN(A:D)),返回的结果如下图①所示,也就是用纵向的1到5和横向的1到4进行大于的比较。如果不理解,可以看面第2张图,n是将逻辑值转为数值。第2参数是B$2:B$5,也就是要重复的次数。

然后用mmult把第1参数和第2参数矩阵相乘,返回的结果是{0;2;5;6;10},如上上图④所示。这样就是对第2参数的累加运算,但是累加的结果是从0开始的。这样累加有它的用处,是为了后续的处理。mmult返回的结果是怎么得到的就不用我说了吧。

接下来就是用lookup来返回要重复的内容,lookup的第1参数是ROW(A1),也就是{1};第2参数是mmult返回的结果加1,也就是{1;3;6;7;11},加1是为了找到区间分段的值;第3参数是A$2:A5。这样的话公式就是下图所示,第1参数1在第2参数中找到1,然后返回第3参数对应的内容"A"。

当公式下拉时,lookup的第1参数变为2,第2和第3参数不变,那么公式为下图所示。第1参数2在第2参数中找到1,返回第3参数中对应的内容"A"。

公式再下拉时,lookup的第1参数变为3,第2和第3参数不变,那么公式为下图所示。第1参数3在第2参数中找到3,返回第3参数对应的内容"B"。

其他公式也是这样理解的,还需说明的一点是最后为什么要连接空文本,也就是&""。因为随着公式的下拉,当要重复的内容全部显示完之后,再下拉就会引用空单元格,而引用空单元格返回的结果是0,&""就是为了让空单元格的0变为空文本。

还有上面我截图的3个公式,其实第3参数是引用,不是数组。我按了F9是为了让大家好看。如果是数组的话,当第1参数大于等于11时,lookup就算&""返回的结果还是"0",如果是引用的话,第1参数大于等于11时,lookup返回的结果就是空文本。

这个题目的关键是通过mmult累加的方式找到区间分段的值,也就是{1;3;6;7;11},这个要大家好好理解一下。

我们也可以用区域数组的方式输出结果,选中10个竖向的单元格,输入公式=LOOKUP(ROW(INDIRECT("1:"&SUM(B2:B5))),MMULT(N(ROW(1:5)>COLUMN(A:D)),B2:B5)+1,A2:A5),按三键结束。

这个题目除了用mmult,我们也可以用offset的多维引用,大家参考文件。

文件链接:

https://pan.baidu.com/s/1HPVh452AUzD1-SkBGmePlA

提取码:ey0t

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
按指定的次数重复
19Excel数据模糊匹配查询?看这一篇就够了!
MMULT函数,我终于搞懂了!
MM函数来了
小题不一般,MMULT vs LOOKUP vs OFFSET,群芳齐争艳!
Excel矩阵函数mmult教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服