You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SUMPRODUCT/MMULT直接计算向量点积(无需额外单元格与VBA)

直接在公式内定义数组计算点积(无额外单元格/无VBA)

完全可以通过Excel原生的常量数组语法实现你的需求,无需额外单元格存储向量分量,也不需要VBA。以下是具体实现方式:

用SUMPRODUCT实现(最直观)

Excel允许用{}直接定义一维数组,分量用逗号分隔(表示行向量),直接传入SUMPRODUCT即可计算点积。对应你给出的伪代码,公式可写为:

=SUMPRODUCT({1.0,3.0,4.0}, {M42,X22+N42,5.0+B10})
  • 注意事项:
    • Excel 2019及更早版本:输入后需按Ctrl+Shift+Enter确认(公式会自动被系统添加外层大括号,不要手动输入)
    • Excel 365/2021及以后版本:支持动态数组,直接按回车即可生效

用MMULT实现

MMULT要求第一个数组的列数等于第二个数组的行数,因此需要将其中一个一维行向量转置为列向量,示例公式:

=MMULT({1.0,3.0,4.0}, TRANSPOSE({M42,X22+N42,5.0+B10}))
  • 同样,旧版本需按Ctrl+Shift+Enter,新版本直接回车即可得到结果。

灵活扩展

数组中可以混合常量、单元格引用、运算公式,比如:

=SUMPRODUCT({2, A1*3, SQRT(B2)}, {C3, D4+E4, 10})

完全满足你在公式内动态生成分量的需求。

内容的提问来源于stack exchange,提问作者BoinkingWinkie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 05:22:06