mmult 函數又被昵稱為“美眉函數”,它主要是用來計算兩個數組的矩陣乘積。
我們之前介紹過的神級函數 sumproduct,也能對矩陣進行運算,今天就來分别講講這兩個函數的不同用法。
1. mmult 函數:
語法:
釋義:
- 返回兩個數組的矩陣乘積
- 結果與 array1 的行數相同,與 array2 的列數相同
- 矩陣中隻能包含數值,任意單元格包含為本或為空将返回錯誤值
- 若要對矩陣求和,必須在輸入公式後按 Ctrl Shift Enter 計算數組
- 如果沒有按上述三鍵,則隻對第一行第一列進行運算
用法示例:
- 單列求和
- 單行求和
- 矩陣乘積
- 有條件求和
- 将多個單元格的數字合并到一個單元格
1. 單列求和:
公式:
=MMULT(COLUMN(A1:F1)^0,A2:A7)
公式釋義:
- mmult 函數調用的是 array1 的行數和 array2 的列數,因此我們要對列求和,就要将該列數據放入第二個參數
- COLUMN(A1:F1)^0:A1 到 F1 列值的 0 次方,結果為{1,1,1,1,1,1},A1:F1 也可以寫成 A:F,隻要列數為 6,與 array2 的行數相等即可
- 公式的計算過程為:1*1 1*2 1*3 1*4 1*5 1*6=21
2. 單行求和:
公式:
=MMULT(B1:G1,ROW(A2:A7)^0)
公式釋義:
- mmult 函數調用的是 array1 的行數,因此我們要對行求和,就要将該行數據放入第一個參數
- ROW(A2:A7)^0:A2 到 A7 行值的 0 次方,結果為{1,1,1,1,1,1},A2:A7 也可以寫成 2:7 或 1:6,隻要行數為 6,與 array1 的列數相等即可
- 公式的計算過程為:10*1 10*1 10*1 10*1 10*1 10*1=60
3. 矩陣乘積:
公式:
選中黃色區域,輸入以下公式,按 Ctrl Shift Enter 使之成為數組公式:
=MMULT(A4:C5,D1:E3)
公式釋義:
- 以 D4 為例,公式的計算過程為:1*10 2*20 3*30=140
4. 有條件求和:
計算下表中所有正數的總和
公式:
=SUM(MMULT((A1:F2>0)*A1:F2,ROW(1:6)^0))
公式釋義:
- A1:F2:array1 的區域
- A1:F2>0:該區域中的正數
- *:表示 and,即兩個條件并列成立
- ROW(1:6)^0:array2 的值,結果為 6 個 1
- sum 的作用是将第一行的正數之和與第二行的正數之和加總,否則隻顯示第一行的結果
5. 将多個單元格的數字合并到一個單元格:
公式:
=MMULT(A1:E1,10^(5-ROW(1:5)))
公式釋義:
- 公式的計算過程為:1*10^4 2*10^3 3*10^2 5*10^1 6*10^0=12356
2. sumproduct 函數:
關于 sumproduct 函數的其他用法,可以參考
Excel函數(四) – sumproduct函數計數、排名、求和等等。今天我們要介紹它的乘積求和用法。
語法:
- =SUMPRODUCT(array1,array2,……)
釋義:
- 返回數組乘積的和
- 各個數組必須大小相同,否則會返回錯誤值
用法示例:
将以下數組相乘并求和
公式:
=SUMPRODUCT(A1:C2,E1:G2)
公式釋義:
- 公式的計算過程為:1*10 2*20 3*30 4*2 5*3 6*4=187
, 更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!