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

小伙伴们过年好!祝大家在新的一年里健康,平安,自在,百毒不侵。那我们今天也来学习一个新函数的用法,那就是mmult。在官方的解释中,它是返回两个数组的矩阵乘积,实际上乘积之后还要求和,可以看作sumproduct的升级版,所以mmult一般可以用来条件求和,条件计数。当然还有其他的用法。今天只是认识和了解一下它的计算原理和基本用法。

下面看下官方给出的帮助说明和注意事项:

mmult函数返回两个数组的矩阵乘积。函数语法结构如下:

MMULT(array1, array2)

有2个参数,都是必需的。这2个参数是要进行矩阵乘法运算的两个数组。可以是单元格引用,也可以是数组。

注意事项:

  • Array1 中的列数必须与 array2 中的行数相同, 并且这两个数组必须仅包含数字。(规定很严苛,决定了2个参数的先后顺序)

  • 结果矩阵的行数与 array1 的行数相同,矩阵的列数与 array2 的列数相同。(规定了返回结果的大小范围)

  • 以下情况mmult会返回错误值:

    ①任意单元格为空或包含文字。②Array1 中的列数与 array2 中的行数不同。

下面通过几个例子来说明它的规则和计算原理:

如下图所示,要计算B3:C5和D1:D2这两个区域的矩阵乘积。首先我们可以按下图的方式来摆放2个参数,第1参数B3:C5摆放在左下角,如①所示;第2参数D1:D2摆放在右上角,如②所示,它们的顶点相交。然后要求第1参数的列数和第2参数的行数相同,那么左上角的区域就会形成一个正方形,如红色部分所示,也就是③。mmult返回的结果是绿色部分,也就是④,结果区域的行数与第1参数的行数相同,列数与第2参数的列数相同。然后这4个部分又会形成一个大的矩形区域。大家刚开始学这个函数的时候要先记住这个图形,有助于理解。

下面来说下返回的结果是怎么算出来的,对于21,它是由2*10+1*1得到的,如上图黄色箭头所示。43是由4*10+3*1得到的。65也是一样的计算方法。从每个单一的结果来看,是不是有点像sumproduct的算法,只不过把其中一个区域转置了一下。如下图所示,是用sumproduct计算的结果。只不过sumproduct得到一个单一的结果,公式需要下拉填充;而mmult得到一个数组。

下面看一下,如果把mmult的2个参数的位置对调会发生什么。输入公式=MMULT(B4:B5,C1:D3),结果返回错误值。同样还是把第1参数放在左下角,第2参数放在右上角。这时我们发现左上角的红色区域不是一个正方形,说明第1参数的列数与第2参数的行数不相等,那么mmult就会返回错误值,参考最开始的注意事项。

从这里可以看出,mmult对2个参数的先后顺序是有严格要求的,只有它们的左上角区域构成一个正方形,mmult才能正常运算。

再来看看其他的注意事项,如下图所示,当区域中有空单元格时,mmult也会返回错误值,大家可以自己实验一下。我这里为了截图整齐,就没有把列宽拉宽。所以mmult的2个参数中,只能全部是数字。

mmult还能形成二维数组,如下图所示。下图21是由2*10+1*1得到,3是由2*1+1*1得到,其他结果也是同样的计算原理。

今天就先说这么多,让大家对这个函数的规则和计算原理有个初步的认识。最后再来总结一下,mmult是对2个矩阵的乘积运算。矩阵简单来说就可以看作矩形区域,在矩阵区域中都只能是数字,有空单元格和文本会出错。

然后大家可以记住上面的那个矩形图。①代表第1参数,放在左下角;②代表第2参数,放在右上角;③是左上角的部分,必须是一个正方形,这样才能确保第1参数的列数和第2参数的行数相同,否则会出错;④是结果区域,返回一个数组,行数和第1参数的行数相同,列数和第2参数的列数相同。这4个部分最后又可以组成一个更大的矩形。当在脑子里形成这个图形的时候,对这个函数的了解就更深了。

(0)

相关推荐

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

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

  • 听说这是所有Excel函数里最难的一个?每一个函数高手都曾以征服它为目标~

    HI,大家好,我是星光. Excel工作表函数有上百个,但要问最难的是哪个?对大部分人而言,绝对是我们今天分享这个--MMULT. MMULT的绰号叫'妹妹',但她一点也不温柔可亲.如果你是她的靖哥哥 ...

  • 【Excel】分散在元角分等位置上的数据怎么求合计金额?

    [Excel]分散在元角分等位置上的数据怎么求合计金额? 彭怀文 例如下图的这种情形,该如何求合计金额呢? 其实,这种方式求和很简单,可以使用--SUMPRODUCT函数+数组公式. 在上图所示的表格 ...

  • 矩阵与矩阵乘积简介

    向量是存储和操作数据的一种有用的方法,可以用箭头或数字数组来表示它们.然而,创建更复杂的数据结构是有帮助的,这正是需要引入矩阵的地方. 介绍 矩阵是正方形或矩形数组,包含两个维度:行和列,我们可以把它 ...

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

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

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

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

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

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

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

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

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

    小伙伴们,大家好.今天继续来说mmult的累加应用,这次的题目是按指定次数重复内容.有关这个问题,我们之前也说过很多方法,今天来详细说说mmult的方法. 先来看看数据源和最后的效果.下图左表是数据源 ...

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

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

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

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

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

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

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

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

  • MMULT,矩阵乘积没问题

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