In September, 2018, we released dynamic array formulas for Excel for Microsoft 365. The differences between dynamic arrays and legacy Ctrl+Shift+Enter (CSE) formulas are discussed below.
Dynamic array formulas:
-
Can "spill" outside the cell bounds where the formula is entered. The following example shows the RANDARRAY function in D1, which spills across D1:F5, or 5 rows by 3 columns. The dynamic array formula technically only exists in cell D1, whereas with a legacy CSE formula, the formula would need to be entered in the entire range.
-
Will automatically resize as data is added or removed from the source range. CSE array formulas will truncate the return area if it's too small, or return #N/A's if too large.
-
Calculate in a 1x1 context. For instance, the RAND function will return a single result, so if you want multiple random numbers returned to the grid, you can use the RANDARRAY function. The ROW and COLUMN functions will return the source cell's row and column. SEQUENCE(ROW()) can be used to replicate the old behavior of ROW in a legacy array formula.
-
Any new formulas that return more than 1 result will automatically spill. There's no need to Press Ctrl+Shift+Enter.
-
CSE array formulas are retained for compatibility reasons. Going forward, you should use dynamic arrays formulas instead.
-
When cells in a legacy CSE array formula depended on one another, Excel will attempt to calculate each individually instead of as an array. This behavior was referred to as "CSE breakup" and, under certain circumstances, formulas calculated in this way could produce inconsistent results. To avoid the potential for inconsistent results, we recommend using separate formulas instead of relying on CSE breakup. Dynamic array formulas will not breakup. Instead, they will report the circular reference so that you can address it.
-
Can be easily modified by changing the source cell, whereas CSE array formulas require that the entire range be edited simultaneously.
-
Column and row insertion/deletion is prohibited in an active CSE array formula range. You need to first delete any existing array formulas that are in the way.
Need more help?
You can always ask an expert in the Excel Tech Community or get support in Communities.