课程
您可能不会在 Excel 中每天都用到矩阵乘法,甚至也很少去想 Excel 是如何处理线性代数运算的,但当您确实需要时,MMULT() 是必须了解的核心函数。
本文将向您展示 MMULT() 的工作原理,并希望您能体会到它在计算加权和、构建财务模型或处理多维数据时出乎意料的好用。
为什么使用 Excel 的 MMULT()?
先看整体概念。MMULT() 函数执行矩阵乘法,即将一个矩阵的行与另一个矩阵的列相乘的数学运算。在以下场景中尤为有用:
- 加权平均
- 财务预测
- 回归模型
在 Excel 中,MMULT() 能帮助您自动化并加速这一过程,而无需切换到 Python 或 R 等其他工具。虽然 Python 和 R 也很擅长此类工作,但如果您本就在 Excel 中作业,来回切换反而更费时。
Excel MMULT() 语法与参数
以下是 MMULT() 的必需参数。如您所料,它接收两个数组。
=MMULT(array1, array2)
-
array1:第一个矩阵(单元格区域) -
array2:第二个矩阵(单元格区域)
array1 的列数必须与 array2 的行数相等。若不满足此条件,Excel 将无法进行乘法并返回错误。
重要提示:如果您使用的是 Excel 365 或 Excel 2021(或更高版本),只需像普通公式一样按 Enter。如果是更早的版本,则需要使用特殊组合键:
-
选中输出区域(确保尺寸正确)。
-
输入您的
MMULT()公式。 -
按下 Ctrl + Shift + Enter,将其作为数组公式输入。
操作正确后,Excel 会用花括号 {} 将公式包裹,表示它已作为数组公式输入。
MMULT() 实战:一个真实示例
让我们用一个示例来说明。
假设您有如下两个矩阵:

若要将这两个矩阵相乘,使用:
=MMULT(A1:C2, E1:G3)
运算如下:
- C[1][1] = 14 = (1×1) + (2×2) + (3×3) = 1 + 4 + 9 = 14
- C[1][2] = 58 = (1×7) + (2×9) + (3×11) = 7 + 18 + 33 = 58
- C[1][3] = 64 = (1×8) + (2×10) + (3×12) = 8 + 20 + 36 = 64
- C[2][1] = 32 = (4×1) + (5×2) + (6×3) = 4 + 10 + 18 = 32
- C[2][2] = 139 = (4×7) + (5×9) + (6×11) = 28 + 45 + 66 = 139
- C[2][3] = 154 = (4×8) + (5×10) + (6×12) = 32 + 50 + 72 = 154
正确输入后,Excel 会返回相乘得到的新矩阵。结果矩阵中的每个数,都是由 array1 的行与 array2 的列对应元素相乘并求和得到的。我们无需手动完成上面的行列运算,Excel 会替您完成繁重计算。
常见错误及其解决方法
如果不注意,使用 MMULT() 容易踩坑。以下是一些常见问题:
- #VALUE! 错误: 当数组中包含非数值,或数组维度不兼容时会发生。
- 结果尺寸不正确: 输出区域的大小必须与结果矩阵的维度匹配。否则,Excel 可能只返回部分结果,或在某些情况下完全无结果。
- 忘记按 Ctrl + Shift + Enter: 在旧版 Excel 中,这很常见。若不执行该步骤,函数不会返回数组输出。
在输入公式前,请务必再次确认输入与输出区域的尺寸。
可视化 MMULT() 的结果
这里有一个帮助您更直观查看结果的思路: 对结果矩阵使用色阶来显示高低值。这可以让大型或复杂的结果更易解读。

结语
MMULT() 是 Excel 中用于矩阵乘法的实用函数,在回归与财务分析等场景中都很相关。只要您掌握了如何设置数组尺寸并正确输入函数,它就能为您节省时间并减少错误。
欢迎查看我们的课程 Data Analysis in Excel 和 Advanced Excel Functions,持续提升您的专业能力。Financial Modeling in Excel 也是一个很好的选择,涵盖敏感性分析与预测等有趣内容。

我是数据科学编辑,曾为科学期刊发表的研究论文撰稿。我的兴趣领域包括线性代数、统计学、R 等相关主题。