說明
使用此函數計算兩個陣列的矩陣乘積。MMULT 函數會以矩陣形式回報兩個陣列的乘積。
附註: MMULT 要求第一個陣列中欄位 的數目等於第二個陣列中行 的數目。
語法
MMULT(array1, array2)
輸入
此函式接受下列參數:
| 名稱 | 必要 | 說明 | 有效輸入 |
|---|---|---|---|
array1 |
是 | 第一個要相乘的陣列(或範圍)。 | 維度與相容的數值陣列或範圍 array2. |
array2 |
是 | 第二個要相乘的陣列(或範圍)。 | 一個數值陣列或範圍,其中的行數等於array1 中的欄數。 |
範例
範例資料
資料設定 1
| A | B | C | |
|---|---|---|---|
| 1 | 資源 | 小時 | 費率 |
| 2 | 阿米娜 | 3 | $20 |
| 3 | Raoul | 2 | $25 |
| 4 | 丹尼斯 | 5 | $15 |
資料設定 2
| A | B | C | 暗示性的對話 (D) | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | 項目 | 數量 | 元件 | 筆記型電腦 | 平板電腦 | 桌面 | 總計 | ||
| 2 | 筆記型電腦 | 10 | 螢幕 | 1 | 1 | 2 | 65 | ||
| 3 | 藥片 | 15 | 電池 | 2 | 1 | 0 | 35 | ||
| 4 | 桌面 | 20 | 處理器 | 1 | 1 | 1 | 45 |
資料設定 3
| A | B | C | 暗示性的對話 (D) | E | |
|---|---|---|---|---|---|
| 1 | 學生 | 家庭作業 | 測驗 | 考試 | 權數/重量平均值 |
| 2 | 學生 1 | 80 | 80 | 85 | 82.5 |
| 3 | 學生 2 | 75 | 85 | 90 | 85.5 |
| 4 | 學生 3 | 90 | 80 | 85 | 84.5 |
| 5 | |||||
| 6 | 權數/重量 | 0.2 | 0.3 | 0.5 |
公式範例
| 使用案例 | 公式 | 說明 | |||
|---|---|---|---|---|---|
| 計算 3 個以不同速率工作不同持續時間的人的總成本。 | =mmult(transpose(b2:b4), c2:c4) |
此公式套用TRANSPOSE 到 (B2:B4),然後再乘以 (C2:C4)。使用資料設定 1,可得出以下結果:
|
|||
| 計算當前庫存所需各分量的總數。 | =mmult(E2:G4,B2:B4) |
此公式將「數量」矩陣 (B2:B4) 乘以「元件」矩陣 (E2:G4)。考慮到每項目的數量和每項目的分量,這會報酬所需每個元件的總量。使用資料設定 2,會產生以下結果:
|
|||
| 如果函數中有錯誤,則回報已定義的回應。 | =IFERROR(MMULT(E2:G4,B2:B4), 「無效」) |
此公式將上一步/上一個公式包裝在IFERROR 中,以處理潛在的維度錯配。在資料設定 2 中,如果其中一個值為空白,則會產生以下結果:「無效」 | |||
| 計算一組數值的權數/重量平均值。 | =mmult(B2:D4,transpose(B6:D6)) |
此公式套用TRANSPOSE 到 (B6:D6),然後將學生分數矩陣 (B2:D4) 乘以轉置的權數/重量矩陣,產生一個 3x1 矩陣,其中每個儲存格代表一個學生的加權平均成績。在資料設定 3 中,會產生 E 欄所顯示的結果。 為什麼 MMULT 在此有用?
|
附註
- 與所有陣列函數一樣,MMULT 會從包含 MMULT 函數的儲存格開始,動態地在相鄰的儲存格之間儲存結果。
- MMULT:
- 執行矩陣乘法,這是線性代數中的關鍵資料 鍵/金鑰。
- 水平陣列的大小必須與垂直陣列的大小相符(即行數必須等於資料欄數)。
提示
- 如果有標題列,如果不想包括標題,則將陣列值向下起始一行(例如在上面的資料設定中,從 A2 而不是 A1 開始)。
- MMULT 可與其他函數合併/組合,包括: MMULT:
相關功能
以下是 Workiva 電子試算表支援的其他陣列公式函數。