矩阵乘法涉及一行

时间:2015-10-19 11:15:03

标签: excel matrix transpose

我正在使用Excel 2010.我的示例位于A1中带有1的电子表格中; B1中为2,D1中为1; D2中的2。当我将一行乘以一列时,一切正常:

=MMULT(A1:B1,D1:D2)

如果我使用TRANSPOSE函数自行乘以一行并将答案放在一个单元格中,它就会窒息(说#VALUE!):

=MMULT(A1:B1,TRANSPOSE(A1:B1))

这似乎是因为它想要两次产生相同的答案。选择两个单元格,在顶部单元格中键入公式,然后使用CTRL-SHIFT-ENTER(将大括号添加到公式中)将它们链接,得到两次正确的答案:

{=MMULT(A1:B1,TRANSPOSE(A1:B1))}

出于好奇,我尝试了=MMULT(A1:B1,TRANSPOSE(TRANSPOSE(D1:D2)))。它也想重复一下答案。

(screenshots of all five examples are together here)
screenshots of all five examples are together here

虽然我意识到我可以将重复的答案复制到废品区域然后从那里收集一个单元格,但这看起来有点混乱。并且,更严重的是,我担心当矩阵函数链接到Excel时是否会发生其他奇怪的事情。

有没有办法抑制重复,所以将一行乘以一列给出一个答案,或者我误解了一切?

1 个答案:

答案 0 :(得分:1)

您必须首先在工作表中转置矩阵,然后将原始矩阵与转置相乘,就像在

中一样。
=MMULT(A1:B1,D1:D2)

这样可以得到正确的结果而不会重复。如果选择多个单元格,则使用mmult内部的转置功能可以扼流或创建重复。