Beskrivning
Använd den här funktionen för att beräkna matrisprodukten av två arrayer. Funktionen MMULT returnerar produkten av två arrayer som en matris.
Obs: MMULT kräver att antalet kolumner i den första arrayen är lika med antalet rader i den andra arrayen.
Syntax
MMULT(matris1, matris2)
Indata
Denna funktion godkänner följande argument:
| Namn | Krävs | Beskrivning | Giltig inmatning |
|---|---|---|---|
array1 |
Ja | Den första arrayen (eller området) som ska multipliceras. | En numerisk array eller ett område med dimensioner som är kompatibla med array2. |
array2 |
Ja | Den andra arrayen (eller området) som ska multipliceras. | En numerisk array eller ett område där antalet rader är lika med antalet kolumner i array1. |
Exempel
Provdata
Dataset 1
| A | B | C | |
|---|---|---|---|
| 1 | Resurs | Timmar | Hastighet |
| 2 | Amina | 3 | $20 |
| 3 | Raoul | 2 | $25 |
| 4 | Denise | 5 | $15 |
Dataset 2
| A | B | C | D | E | F | G | H | I | |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Objekt | Kvantitet | Komponent | Bärbara datorer | Tabletter | Skrivbord | Totalt | ||
| 2 | Bärbara datorer | 10 | Skärmar | 1 | 1 | 2 | 65 | ||
| 3 | Tabletter | 15 | Batterier | 2 | 1 | 0 | 35 | ||
| 4 | Skrivbord | 20 | Processorer | 1 | 1 | 1 | 45 |
Dataset 3
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Student | Läxa | Quiz | Tentor | Vikt Genomsnitt |
| 2 | Student 1 | 80 | 80 | 85 | 82.5 |
| 3 | Student 2 | 75 | 85 | 90 | 85.5 |
| 4 | Student 3 | 90 | 80 | 85 | 84.5 |
| 5 | |||||
| 6 | Vikter | 0.2 | 0.3 | 0.5 |
Prov på formler
| Användningsfall | Formel | Förklaring och resultat | |||
|---|---|---|---|---|---|
| Beräkna den totala kostnaden för 3 personer som arbetar under olika tid och till olika priser. | =MMULT(TRANSPONERA(B2:B4); C2:C4) |
Denna formel tillämpar TRANSPOSE på (B2:B4) och multiplicerar sedan det med (C2:C4). Med hjälp av datamängd 1 produceras följande:
|
|||
| Beräkna det totala antalet av varje komponent som behövs för det nuvarande lagret. | =MMULT(E2:G4;B2:B4) |
Denna formel multiplicerar "Kvantitets"-matrisen (B2:B4) med "Komponent"-matrisen (E2:G4). Detta returnerar den totala mängden av varje komponent som behövs, med hänsyn till mängden av varje artikel och antalet komponenter per artikel. Med hjälp av datamängd 2 produceras följande:
|
|||
| Returnerar ett definierat svar om det finns ett fel i funktionen. | =OMFEL(MMULT(E2:G4;B2:B4); "Ogiltig") |
Denna formel omsluter den föregående formeln i ett OMFEL för att hantera potentiella dimensionsavvikelser. I datauppsättning 2, om ett av värdena var tomt, producerar detta följande: "Ogiltig" | |||
| Beräkna ett viktat medelvärde för en uppsättning värden. | =MMULT(B2:D4,TRANSPONERA(B6:D6)) |
Denna formel tillämpar TRANSPONERA på (B6:D6) och multiplicerar sedan matrisen av studentpoäng (B2:D4) med den transponerade matrisen av viktningar, vilket producerar en 3x1-matris där varje cell representerar en students viktade medelbetyg. I dataset 3 producerar detta resultaten som visas i kolumn E. Varför MMULT är användbart här:
|
Anteckningar
- Precis som med alla arrayfunktioner fyller MMULT dynamiskt resultat över intilliggande celler, med början från cellen som innehåller MMULT-funktionen.
- MMULT:
- Utför matrismultiplikation, en nyckeloperation i linjär algebra.
- Storleken på den horisontella arrayen måste matcha storleken på de vertikala arrayerna (det vill säga antalet rader måste vara lika med antalet kolumner).
Tips
- Om du har rubrikrad(er), börja dina arrayvärden en rad längre ner (till exempel i datamängderna ovan, börja med A2 istället för A1) om du inte vill att rubrikerna ska inkluderas.
- MMULT kan kombineras med andra funktioner, inklusive:
- TRANSPONERA: För att ändra orienteringen av matriser vid multiplikation.
- OMFEL: För att hantera fel smidigt i matrisoperationer.
- SUMMA: För att aggregera resultaten av en matrisprodukt.
- FILTER: För att filtrera matrisingångar dynamiskt.
Relaterade funktioner
Här är de andra matrisformelfunktionerna som stöds i Workiva-kalkylblad.