3个案例让你了解矩阵相乘! Excel中最难懂的函数之一MMULT函数

如果要给Excel函数排一个难度TOP榜,那么MMULT函数必定榜上有名,它是Excel中最难懂的函数之一。它的语法很简单:=MMULT(数组1,数组2),只有两个参数,两个参数都是数组,这两个数组必须具备以下特征:
- 1.数组1的列数必须等于数组2的行数;
- 2.两个数组的元素必须是数值而不能是其它数据类型;
两个数组矩阵相乘的结果是MMULT函数返回的结果,它是一个动态数组,这个动态数组的行数等于数组1的行数,动态数组的列数等于数组2的列数。怎么理解数组矩阵相乘呢?如图1所示,A4:B6单元格是3行2列的数组1{1,4;2,5;3,6},C2:C3是2行1列的数组2{10;20},这两个数组进行矩阵相乘,就是将数组1的列数据分别与数组2的行数据进行相乘,即数组1的第一列乘以数组2的第一行,数组1的第二列乘以数组2的第二行,矩阵相乘的结果即为两次相乘之和。
前面已说过,MMULT函数数组1的列数必须等于数组2的行数,列数和行数相等的话,就会形成一个矩形(长和宽相等的正方形),即图1黄色单元格区域,红色单元格区域是矩阵相乘的结果,这个结果数组的行数等于数组1的行数,数组1是3行,那么这个结果就是3行,结果数组的列数等于数组2的列数,数组2的列数是1,那么结果数组就是1列,即结果数组是3行1列:{90;120;150}。
那么这个结果如何用MMULT计算出来呢?以WPS为例,首先鼠标选中C4:C6单元格,然后输入等于号“=”,输入公式:MMULT(A4:B6,C2:C3),最后同时按住Shift+Ctrl+Enter三键。
下面再看三个案例,帮助大家加深对MMULT函数矩阵相乘的理解。
案例1 :用MMULT函数制作99乘法表
如图2所示,用MMULT函数制作99乘法表,首先鼠标选中单元格区域H8:P16,然后输入等于号“=”,输入公式:MMULT(G8:G16,H7:P7),最后同时按住Shift+Ctrl+Enter三键。
G8:G16是9行1列的数组1{1;2;3;4;5;6;7;8;9},H7:P7是1行9列的数组2{1,2,3,4,5,6,7,8,9},根据矩阵相乘的原则,数组1会和数组2中的1,2,3……9分别相乘,结果为9行9列的数组{1,2,3,4,5,6,7,8,9;2,4,6,8,10,12,14,16,18;3,6,9,12,15,18,21,24,27;4,8,12,16,20,24,28,32,36;5,10,15,20,25,30,35,40,45;6,12,18,24,30,36,42,48,54;7,14,21,28,35,42,49,56,63;8,16,24,32,40,48,56,64,72;9,18,27,36,45,54,63,72,81}。
案例2:用MMULT函数的动态内存求和
如图3所示,在G列求每个产品5个月的总销量。首先,选中单元格区域G4:G11,输入等于号“=”,输入公式:MMULT(B4:F11,ROW(1:5)^0),最后同时按住Shift+Ctrl+Enter三键。SUMIF函数的11个高级用法,职场达人必会技巧!
B4:F11为8行5列的数组1,ROW(1:5)^0构建1列5行的数组2{1;1;1;1;1},计算逻辑如图4所示,选中N17:N24,输入等于号“=”,输入公式:MMULT(I17:M24,N12:N16),最后同时按住Shift+Ctrl+Enter三键,结果为8行1列的数组{110;115;120;125;130;135;140;145}。
在第12行求每个月所有产品的销量,首先,选中单元格区域B12:F12,输入等于号“=”,输入公式:MMULT(TRANSPOSE(ROW(1:8)^0),B4:F11),最后同时按住Shift+Ctrl+Enter三键。
ROW(1:8)^0构建8行1列的数组{1;1;1;1;1;1;1;1},TRANSPOSE表示将8行1列的数组转置为1行8列的数组1{1,1,1,1,1,1,1,1},B4:F11为8行5列的数组2,矩阵相乘的逻辑如图5所示,公式为:=MMULT(I23:P23,Q15:U22),数组1的列与数组2的行对应相乘,结果再相加即为{188,196,204,212,220}。
案例3:MMULT函数多条件求和
如图6所示,求“显示器前3个月的总销量”,公式为:=SUMPRODUCT((A42:A45=F41)*MMULT(B42:D45,ROW(1:3)^0))。汇总SUMPRODUCT万能函数所有经典和重要用法,进阶职场达人!
ROW(1:3)^0构建3行1列的数组2{1;1;1},B42:D45构建4行3列的数组1{48,47,25;21,20,37;22,35,29;23,42,27},这两个数组矩阵相乘的逻辑如图7所示,选中红色区域单元格,输入等于号“=”,输入公式:MMULT(H51:J54,K48:K50),最后同时按住Shift+Ctrl+Enter三键,结果为4行1列的数组{120;78;86;92}。
A42:A45=F41这个条件构建TRUE和FALSE组成的数组{FALSE;FALSE;TRUE;FALSE},SUMPRODUCT表示数组相乘之和,{FALSE;FALSE;TRUE;FALSE}与{120;78;86;92}相乘时,FALSE可以看做0,TRUE可以看做1,相乘的结果为{0;0;86;0},最后对这个数组求和,结果即为86。
相关文章
用1个公式替代8种操作! excel中textsplit拆分函数高级用法
你是否在Excel中遇到过需要将一个字符串拆分成多个部分的情况?TEXTSPLIT函数就是你的救星!这个函数可以轻松帮你根据分隔符将字符串拆分开2025-06-30groupby函数是一个超级透视器: excel不加班搞定数据分类汇总
在处理数据时,我们常常需要对数据进行分类汇总,让数据变得更有条理,方便分析,今天就给大家讲讲 Excel 里超好用的 GROUPBY 函数,学会它,数据汇总的难题就能轻松解决啦2025-06-28excel中的强大映射工具! map函数excel正确使用方法
在小学的数学课上,我们可能就已经接触过“映射”这个概念:一组数字通过某种操作转换成另一组数字,今天我们就来看看excel中map函数作为强大映射工具的用法2025-06-28excel表格中Match函数怎么使用? Match函数的那些小伎俩
今天我们来讲讲Excel中的MATCH函数,MATCH这个查找类函数太常用了,它是很多其他函数组合嵌套的好伴侣,因为太基础,我们往往会忽视它的重要性2025-06-25动态报表的终极奥义! excel表格中FILTER+SORT函数实现动态排序筛选的技
各位在 Excel 数据泥潭里摸爬滚打的打工人,今天咱们要解锁一个职场神技——用 SORT + FILTER 组合拳,让你的报表从“手动拖拉机”秒变“全自动超跑”!无论你是整理销售数2025-06-24还有SUMIFS做不到的? FILTER+SUM函数实现excel数据多条件求和的技巧
FILTER+和SUM函数是excel和wps中都有的函数,结合这两个函数可以进行多条件求和,下面我们就来看看详细使用方法2025-06-24- excel数据透视表想要进行逆透视,该怎么操作呢?比如office可以pq工具,wps用什么实现呢?我们今天介绍一个函数不管office或者wps都可以使用2025-06-23
FILTER函数这招我后悔没早学! excel中10秒搞定数据查询的技巧
之前说到查找函数,大家肯定会想到vlookup,不过现在还有一个新的函数可以供大家使用,它就是filter,今天就和大家分享一下filter的用法2025-06-23Excel如何实现多条件筛选? 1个函数都不用也能搞定Excel多条件判断
Excel数据进行多条件判断的时候,一般都用if函数,如果不用函数能实现多条件判断吗?下面我们就来看看详细教程2025-06-19让你轻松掌握表格数据查询! 10个excel函数VLOOKUP的应用实例
Vlookup函数的用法之前我们也发了很多,但贴近工作用的Vlookup函数应用示例却很少,今天给大家带来一期Vlookup函数示例大全,希望能给大家的工作带来帮助2025-06-19
最新评论