How to Fix MMULT Not Returning an Array in Excel and WPS Office
Question details
The user needs to make MMULT return the complete matrix product array instead of a single value, an error, or a non-spilled result.

- Product
- WPS Office Spreadsheets / Microsoft Excel
- Device & OS
- not provided
- Scenario
- The user is multiplying two matrices with the MMULT function and expects the resulting array to spill into the adjacent cells in supported spreadsheet software.
- Observed behavior
- MMULT returns only one cell, does not fill the expected range, or shows an error because the version does not support dynamic arrays or the formula was not entered as an array formula.
Check whether your spreadsheet version supports dynamic arrays. In Microsoft 365 and Excel 2021 you can enter MMULT normally and let it spill; in Excel 2019 and earlier, or in WPS Office versions that do not spill automatically, select the full result range before entering the formula.
Enter MMULT as a Dynamic Array Formula in Supported Versions
Use this method in Microsoft 365, Excel 2021, or any WPS Office version that supports dynamic array spill so MMULT automatically returns the full result.
Dynamic arrays remove the need to preselect the output range. The formula spills from a single starting cell and updates when the source arrays change.
Click the cell where the top-left value of the MMULT result should appear, typically in an empty area with enough adjacent blank cells.
Type =MMULT(array1,array2) in the formula bar, using the ranges of the two matrices you want to multiply.
Press Enter once. Do not preselect the full output range; the result will spill into the required number of rows and columns automatically.

Enter MMULT as a Legacy Array Formula in Older Excel Versions
Use this method in Excel 2019 or earlier, or whenever dynamic arrays are not available and MMULT returns only one cell after pressing Enter.
Check MMULT Matrix Dimensions and Range Data
Use this when MMULT returns #VALUE!, an unexpected single result, or no array spill even after choosing the correct entry method.
Fix MMULT Array Results in WPS Office Spreadsheets
Open your workbook in WPS Office Spreadsheets and use the correct MMULT entry method for your version. WPS Office gives you an Excel-compatible spreadsheet environment with familiar array formulas, so you can multiply matrices and share .xlsx files without switching tools.
- 1. Open your workbook: Click Menu and then Open, then select the .xlsx file containing the matrix data.
- 2. Select the result cell or range: In the WPS Spreadsheets worksheet, click the top-left result cell for dynamic arrays, or select the full result range for legacy array entry.
- 3. Enter the MMULT formula: Type =MMULT(array1,array2) in the formula bar using the matrix ranges.
- 4. Confirm the array: Press Enter if your WPS version spills arrays, or press Ctrl+Shift+Enter if it does not.
- 5. Save the workbook: Click the Save icon or press Ctrl+S to keep the formula and result in Excel-compatible format.

Frequently Asked Questions
Why does MMULT only show one number instead of the full array?
You likely pressed Enter in an older Excel version that does not support dynamic arrays. Select the whole result range, type the formula, and press Ctrl+Shift+Enter. In Microsoft 365 or Excel 2021, just press Enter to spill the array.
How do I know how many cells to select for a legacy MMULT array formula?
The result array size is rows of the first matrix by columns of the second matrix. If the first array is 3x2 and the second array is 2x4, select a 3-row by 4-column output range.
Can I edit a legacy MMULT array formula after entering it?
Yes. Select all cells in the array result, edit the formula in the formula bar, and press Ctrl+Shift+Enter again. You cannot edit only one cell of an existing array range.
Does WPS Office Spreadsheets support MMULT and dynamic arrays?
WPS Office Spreadsheets can open Excel workbooks and enter MMULT. Dynamic array behavior may vary by version, but you can use Ctrl+Shift+Enter when the version does not spill automatically.
What should I do if MMULT returns #VALUE!?
Check that the number of columns in the first array equals the number of rows in the second array and that both ranges contain only numeric data. Also make sure the formula is array-entered if your version requires it.




