专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  Excel仪表盘图表 ·  2 天前  
Excel之家ExcelHome  ·  批量创建指定名称的工作表 ·  3 天前  
完美Excel  ·  处理使用密码保护工作表的VBA代码 ·  6 天前  
Excel之家ExcelHome  ·  动态数组是个宝,高效办公离不了 ·  1 周前  
Excel之家ExcelHome  ·  数据查询,这几个函数最常用 ·  1 周前  
51好读  ›  专栏  ›  Excel之家ExcelHome

MMULT,这个函数你用过吗?

Excel之家ExcelHome  · 公众号  · Excel  · 2017-09-04 07:14

正文

有一组需要横向求和的数组如下:

通常,我们可以用SUM函数来求和:

F6单元格内输入公式

=SUM(A6:E6)

下拉复制。

上面“合计”列内有四条不同的公式,那么,能不能编辑一条数组公式,同时得到四行数字的横向合计结果呢?


我们来试一试,在红色格内编辑数组公式:

{=SUM(A6:E6)}


只有第一行的结果是正确的。

再试一下在红色格内编辑数组公式:

{=SUM(A6:E9)}

也不对,四个重复的“210”是已给数组的全部数值的总计,不是我们想要的结果。


至此,我们得到了一个结论:SUM函数只能得到选定区域数值的一个合计,试图把SUM函数用于数组公式来得到N个不同的合计是行不通的。


SUM函数不能用于数组公式来分别求各行和,那么,其他函数行不行?答案是肯定的,江湖上大名鼎鼎的MMULT函数就是其中之一.

(您可不要误以为MMULT只能用于数组的横向分别求和而对大名鼎鼎嗤之以鼻!本帖仅仅只是学习MMULT的入门哦。)


下面,大幕拉开.在红色格内编辑数组公式:

{=MMULT(A6:E9,ROW(1:5)^0)}


至此,我们的目的已经达到了:用一条公式进行了二维数组各行的横向求和。

下面给出MMULT函数的“工作原理(规则)”。

只有理解了工作原理,你才会印象深刻、永远记得它。


MMULT函数的作用是返回两个数组的矩阵乘积。

ROW(1:5)^0的计算结果为一列五行的垂直数组:{1;1;1;1;1}(如图中黄色区域)。

各行的数值分别与这个数组相乘,得出正确的结果。


上图中的运算有这样几个特点:

  1. 结果数组与数组1的行数相等。

  2. 结果数组与数组2的列数相等(本例列数为1,列数可大于1

  3. 数组2的行数与数组1的列数相等(本例为5,否则双箭头曲线往哪指?无法“配对”啦,呵呵)

结果(红色区域)数组中的15就是五个乘积之和。

下面三行运算规则同此行。


好啦,相信您已初步看清了函数MMULT。如果您有兴趣和精力,就去Excelhome技术论坛上走走,看看权威的MMULT专题及大神们的MMULT功夫吧。

本文选自Excelhome论坛会员 e表格学习 的分享帖。


推荐文章
Excel之家ExcelHome  ·  Excel仪表盘图表
2 天前
Excel之家ExcelHome  ·  批量创建指定名称的工作表
3 天前
完美Excel  ·  处理使用密码保护工作表的VBA代码
6 天前
Excel之家ExcelHome  ·  动态数组是个宝,高效办公离不了
1 周前
Excel之家ExcelHome  ·  数据查询,这几个函数最常用
1 周前
点点星光  ·  ❀正月初二,最美祝福送上!
7 年前
十点电影  ·  为什么男人都爱有故事的女人
7 年前
星座不求人  ·  谈恋爱,一定要找个帅的!
7 年前