2014-02-20 86 views
1

根據Microsoft文檔,MMULT返回兩個數組的矩陣乘積,而SUMPRODUCT乘以給定數組中的相應組件,並返回這些乘積的總和。在什麼情況下我不能使用SUMPRODUCT代替MMULT?

我不明白在什麼情況下我不能使用SUMPRODUCT而不是MMULT。我錯過了什麼?

+0

您確實看到MMULT要求「array1中*列數*必須與array2中的* rows *的數量相同「,對嗎?這不是'SUMPRODUCT'所期望的。編輯:巴里給出了一個更好的解釋。 –

回答

5

SUMPRODUCT只允許您在相同大小的陣列上操作以獲得單個結果。

MMULT可以乘以不同大小的數組(只要遵循規則)給你一個數組結果。

的規則是,其中第一陣列是4 MMULT的第一個參數必須有儘可能多的列作爲第二個參數具有行,因此可以使用該公式中,例如

=MMULT(A3:C6,E3:E5)

* 3(4行乘3列),第二個參數是3 * 1(3行乘1列)並返回4 * 1數組

+0

噢,謝謝。簡而言之,'SUMPRODUCT'計算點積(將其稱爲「DOTPRODUCT」?),而「MMULT」是矩陣乘法(有時候函數名會縮寫,有時不會)。對不起,我爲什麼原因感到困惑(可能是維度問題?)'MMULT'只能用於2個輸入,而'SUMPRODUCT'可以用2到30個(爲什麼是30?)輸入。 –

+1

是矢量的「點積」嗎? 「SUMPRODUCT」仍然可以使用矩陣 - 只要它們具有相同的尺寸和形狀,例如'= SUMPRODUCT(A1:D5,E2:H6)' - 30是Excel 2003中的限制,不知道爲什麼,但也適用於許多其他功能 - 在以後的版本中限制爲255 –

+0

好點,點積爲只有向量,更合適的術語是[逐元素乘法]或元素乘法,但是它開始使函數名稱有點太長。無論如何這麼長時間,感謝您的解釋! –

相關問題