화. 8월 5th, 2025

Ever felt the crunch of needing to perform complex calculations involving multiple variables that interact with each other? If you’ve delved into fields like linear algebra, statistics, engineering, or even advanced financial modeling, you know that matrix multiplication is a fundamental operation. While it might sound intimidating, Excel provides a powerful, yet surprisingly straightforward, function to handle this: MMULT.

This guide will demystify MMULT, showing you how to perform matrix multiplication in Excel in one fell swoop, transforming your data analysis capabilities. Let’s dive in! 🚀


💡 What Exactly is Matrix Multiplication? (A Quick Refresher)

Before we jump into MMULT, let’s briefly understand what matrix multiplication entails. It’s not simply multiplying corresponding elements (that’s element-wise multiplication). Instead, it’s a more complex operation where the elements of the rows of the first matrix are multiplied by the corresponding elements of the columns of the second matrix, and the results are summed up.

Key Rule: For two matrices, Matrix A and Matrix B, to be multiplied, the number of columns in Matrix A must be equal to the number of rows in Matrix B.

  • If Matrix A is m rows x n columns (m x n)
  • And Matrix B is n rows x p columns (n x p)
  • The resulting Matrix C will be m rows x p columns (m x p).

Think of it like this: A (rows x **columns**) * B (**rows** x columns) = C (rows x columns). The inner dimensions (columns of A, rows of B) must match! 🤔


🔍 Understanding the MMULT Function

The MMULT function in Excel stands for “Matrix MULtiply.” It returns the matrix product of two arrays (matrices).

Syntax:

MMULT(array1, array2)
  • array1: This is the first matrix (or array) you want to multiply. It can be a range of cells, an array constant (e.g., {1,2;3,4}), or the result of another function that returns an array.
  • array2: This is the second matrix (or array) you want to multiply. Like array1, it can be a range, an array constant, or the result of another function.

The function will return an array (matrix) as its result.


⚠️ Important Rules and Prerequisites for MMULT

To ensure your MMULT function works correctly and avoids common errors, keep these crucial points in mind:

  1. Dimensionality Match: As explained above, the number of columns in array1 must equal the number of rows in array2. If they don’t match, MMULT will return a #VALUE! error.
  2. Numeric Data Only: Both array1 and array2 must contain only numbers. If any cell in either array contains text, empty cells, or logical values (TRUE/FALSE), MMULT will return a #VALUE! error.
  3. Resulting Array Size: The output matrix will have the same number of rows as array1 and the same number of columns as array2.
  4. Array Formula Entry (Pre-Excel 365 Users): For versions of Excel prior to Excel 365, MMULT is an “array formula.” This means you cannot just press Enter after typing the formula. You must:
    • Select the entire range where you expect the result matrix to appear before typing the formula.
    • After typing the formula, press Ctrl + Shift + Enter simultaneously. Excel will then automatically enclose your formula in curly braces {} in the formula bar, indicating it’s an array formula.
  5. Dynamic Array Behavior (Excel 365 and Newer): If you are using Excel 365 or a newer version that supports Dynamic Arrays, you only need to enter the MMULT formula into the top-left cell of your desired output range. Pressing Enter will cause the results to “spill” automatically into the required number of cells. No Ctrl + Shift + Enter needed! ✨

📊 Practical Example: Calculating Total Costs by Region

Let’s illustrate MMULT with a common scenario. Imagine you have a company that sells three products (Product A, B, C) and you want to calculate the total cost for each product across different regions, based on varying unit costs.

Scenario:

  • Matrix 1 (Sales Quantities): Units sold for each product across different sales channels.
  • Matrix 2 (Unit Costs): Cost per unit for each product in different regions.

Data Setup:

Matrix 1: Sales_Quantities (3 Rows x 2 Columns) Let’s say this is in cells A1:B3

Product Channel 1 Channel 2
Product A 100 120
Product B 150 90
Product C 80 110

Matrix 2: Unit_Costs_by_Region (2 Rows x 3 Columns) Let’s say this is in cells D1:F2

Channel Region X Region Y Region Z
Channel 1 5 6 7
Channel 2 4 5 6

We want to find the Total Cost per Product per Region. The resulting matrix will be (Sales_Quantities_rows) x (Unit_Costs_by_Region_columns), which is 3 x 3.

Step-by-Step Implementation:

A. For Excel 365 Users (Dynamic Arrays):

  1. Select a single cell where you want the top-left of your result to appear (e.g., H1).
  2. Type the formula:
    =MMULT(A1:B3, D1:F2)
  3. Press Enter.

    • The results will automatically “spill” into cells H1:J3. You’ll see something like:
    Region X Region Y Region Z
    Prod A 980 1320 1540
    Prod B 1110 1350 1610
    Prod C 840 1030 1250
    • Interpretation: The value 980 (in H1) represents (100 * 5) + (120 * 4), which is the total cost for Product A in Region X.

B. For Older Excel Versions (Pre-Excel 365 – Array Formula):

  1. Determine the size of your output matrix: Our Sales_Quantities is 3×2, and Unit_Costs_by_Region is 2×3. So, the result will be 3×3.
  2. Select the entire 3×3 range where you want the results to appear (e.g., H1:J3). This is crucial!
  3. With the entire range selected, type the formula into the formula bar:
    =MMULT(A1:B3, D1:F2)
  4. Press Ctrl + Shift + Enter (all three keys simultaneously).
    • Excel will automatically surround your formula with curly braces {} in the formula bar, like {=MMULT(A1:B3, D1:F2)}.
    • The results will populate the entire H1:J3 range, just like in the dynamic array example above.

🌐 Common Use Cases for MMULT

MMULT goes beyond simple examples. It’s incredibly useful for:

  • Linear Transformations: Changing coordinates or scaling data.
  • Solving Systems of Linear Equations: Often used in conjunction with MINVERSE (matrix inverse) to solve systems like Ax=B.
  • Economic Modeling: Input-output models, supply chain analysis.
  • Financial Portfolio Analysis: Calculating weighted returns or risks when dealing with multiple assets and their correlations.
  • Weighted Sums: When you have weights applied across different categories.
  • Data Aggregation: Summarizing data based on complex relationships.

🚧 Troubleshooting MMULT Errors

  • #VALUE! Error:
    • Dimension Mismatch: The most common reason. Ensure the number of columns in array1 exactly matches the number of rows in array2.
    • Non-numeric Data: Check that both arrays contain only numbers. Any text, empty cells, or error values will cause this.
  • Not getting array results (Pre-Excel 365): You likely forgot to select the entire output range before entering the formula, or you forgot to press Ctrl + Shift + Enter.

🧠 Advanced Tip: Chaining MMULT

You can multiply more than two matrices by nesting MMULT functions. For example, to calculate the product of three matrices A * B * C:

=MMULT(MMULT(Matrix_A, Matrix_B), Matrix_C)

Remember to pay close attention to the dimensions at each step of the nested calculation!


✅ Conclusion

The MMULT function is a game-changer for anyone dealing with matrix operations in Excel. Whether you’re a student studying linear algebra, a data analyst, or an engineer, mastering MMULT will significantly enhance your spreadsheet capabilities. It allows for complex calculations to be performed efficiently, avoiding tedious manual calculations or complex VBA.

Start practicing with simple examples, and soon you’ll be supercharging your spreadsheets with the power of matrix multiplication! Happy Excelling! 📈 G

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다