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

迎曼说Excel 2024-05-27 00:37:07

Excel秘籍大全,正文开始

文章最后有彩蛋!好礼相送!

如果要给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的第二行,矩阵相乘的结果即为两次相乘之和。

图1

前面已说过,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三键。

图2

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三键。

图3

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}。

图4

在第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}。

图5

案例3:MMULT函数多条件求和

如图6所示,求“显示器前3个月的总销量”,公式为:=SUMPRODUCT((A42:A45=F41)*MMULT(B42:D45,ROW(1:3)^0))。

图6

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}。

图7

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。

以下《900套高逼格工作模板.xls 》免费下载,不收一分钱!

常用Excel

用Excel玩好报表

是必不可缺的技能

要知道一张好的图表

可以做到一图胜千言!

今天推荐的超实用干货是

《900套高逼格工作模板.xls 》

3.高逼格Excel可视化模板

制作精美 可直接套用

适合自用和内部培训使用

领取方式

关注我们

私信发送关键字:900

即可免费领取

资料来源于网络,公益分享,如有侵权,联系删除

0 阅读:0

迎曼说Excel

简介:感谢大家的关注