矩阵相乘用什么函数 3个案例让你了解矩阵相乘! Excel中最难懂的函数之一MM
如果要给Excel函数排一个难度TOP榜,那么MMULT函数必定榜上有名,它是Excel中最难懂的函数其中一个。它的语法很简单:=MMULT(数组1,数组2),只有两个参数,两个参数都是数组,这两个数组必须具备下面内容特征:
- 1.数组1的列数必须等于数组2的行数;
- 2.两个数组的元素必须是数值而不能是其它数据类型;
微软Office LTSC 2021专业增强版 简体中文批量许可版 2024年09月更新
- 类型:办公软件
- 大致:2.2GB
- 语言:简体中文
- 时刻:2024-09-12
查看详情
两个数组矩阵相乘的结局是MMULT函数返回的结局,它一个动态数组,这个动态数组的行数等于数组1的行数,动态数组的列数等于数组2的列数。怎么领会数组矩阵相乘呢?如图1所示,A4:B6单元格是3行2列的数组11,4;2,5;3,6},C2:C3是2行1列的数组210;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列的数组11;2;3;4;5;6;7;8;9},H7:P7是1行9列的数组21,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行的数组21;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列的数组11,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列的数组21;1;1},B42:D45构建4行3列的数组148,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。
推荐阅读:我终于领会透了! 深入浅出wps正则表达式中的边界b和B概念