矩阵乘积函数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

(0)

相关推荐

  • 只要函数基础扎实,遇到难题也能轻易解决!

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 我们这一代人都玩过<三国志>这款游戏,也为每个人心目中最厉害的三国英雄而争论过.恰巧这里有一份三国主 ...

  • 精通Excel数组公式020:MMULT数组函数

    excelperfect MMULT表示矩阵乘法(matrix multiplication).学习过前面文章的朋友,可能已经意识到乘法矩阵在Excel公式中有很多应用. 如下图1所示,两个不同队的棒 ...

  • 掌握了MMULT函数,你就拿到了打开通往函数至高境界大门的钥匙

    送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! MMULT函数对于初学者来讲是一个比较陌生的函数,但不代表它默默无闻.函数发烧友对它趋之若鹜.今天我就来带大家一 ...

  • 精通Excel数组公式022:提取唯一值列表并排序(续)

    使用公式对数字进行排序 下图12展示了两个对数字进行排序的公式.使用SMALL/ROWS函数从小到大排序,使用LARGE/ROWS函数从大到小排序. 图12 使用辅助列公式对基于数字列的记录进行排序 ...

  • 矩阵乘积函数mmult应用3:累加求和

    小伙伴们,大家好.今天来说下mmult的累加求和,累加求和的用处也是挺大的.下面看几个例子吧. 1.计算每天的库存量 下图是一个入库记录表,现在要计算每天的库存量,库存量的计算方法是当天的入库量加上之 ...

  • 矩阵乘积函数mmult进阶应用4:累加求和

    小伙伴们好,不知道mmult有没有让你感觉很晕,反正我是有点晕了.咱们接着昨天的问题继续深入,准备好了吗? 1.计算甲原料在哪个仓库的库存量先达到30,并确定是在哪一天达到此库存量.(增加了原料) 在 ...

  • 矩阵乘积函数mmult进阶应用8:像if({1,0})一样置换2列数据

    小伙伴们,还好吗?今天来分享一下mmult的另一个用法,像if({1,0},..,..)一样置换两列数据的位置,置换后可以用vlookup实现逆向查询.还是来看2个例子. 1.置换2列数值,并用vlo ...

  • 矩阵乘积函数mmult进阶应用7:条件计数

    小伙伴们,大家好.今天继续来说mmult在条件计数中的应用,还是来看两个例子. 1.计算晚点次数(抵达时间大于预计时间) 下图是一个时刻表,记录的是预计到达时间和实际到达时间.现在的问题是求出晚点的次 ...

  • 矩阵乘积函数mmult应用6:条件计数

    小伙伴们,大家好.现在是特殊时期,希望大家做好防护措施,尽量不外出,更不要聚集,在家也可以找一些事情做,比如看电视,或做一顿好吃的,再不行学一下excel .言归正传,今天来学习下mmult在条件计数 ...

  • 矩阵乘积函数mmult基础应用2:条件求和

    小伙伴们,大家好.昨天说了mmult的条件求和用法.今天继续来说下条件求和的应用,加强一下对mmult的理解. 1.对每个人大于80分的成绩求和 这是个单条件求和的问题,方法有很多,比如sum,sum ...

  • 矩阵乘积函数mmult基础应用1:条件求和

    小伙伴们好,今天继续来学习一下mmult的基础用法.先从最简单的求和开始,然后再到条件求和.不知道大家对于mmult的规则了解了多少,还是先来复习一下它的规则.第1参数的列数要和第2参数的行数相同,结 ...

  • 初识矩阵乘积函数mmult的原理和基本用法

    小伙伴们过年好!祝大家在新的一年里健康,平安,自在,百毒不侵.那我们今天也来学习一个新函数的用法,那就是mmult.在官方的解释中,它是返回两个数组的矩阵乘积,实际上乘积之后还要求和,可以看作sump ...

  • MMULT,矩阵乘积没问题

    这个函数的作用是返回两个数组的矩阵乘积. 啥是数组?咱们可以理解为一组数. 哪啥是矩阵呢,就是有数据的矩形单元格区域,例如下面这两个长方形或是正方形的区域: 这个函数的参数很简单: MMULT(数组1 ...