Exceljet

Quick, clean, and to the point

Implicit Intersection

Excel implicit intersection example

Implicit Intersection describes a formula behavior in Excel where many values are reduced to a single value. Typically, it happens when a range or array is passed into a formula meant to display a single result in a single cell. In this situation, Excel will resolve the formula to a single value following the steps below:

  1. If the result is already single value, return the value.
  2. If the result is an array, try to return a value from the same row or column as the formula.
  3. Otherwise,  return the top-left value from the array

Sometimes, when the result is an array, Excel won't return the top-left value in array (step #3) unless the formula is entered an array formula with control + shift + enter. In other words, entering a formula with control + shift + enter disables implicit intersection.

Example

Implicit intersection can occur when a formula is entered next to vertical data, or above or below horizontal data. For example, the formula in D6 in the example shown is:

=B4:B8+1

In this case, Excel resolves the range B4:B8 to the value in B6 (3) and returns a result of 4. When Excel can't determine a single reference in a formula where a range is passed, but a single value is expected, a #VALUE error is returned. For example, if same formula above is entered in cell D9, the result is #VALUE.

Array formulas

Entering an array formula with control + shift + enter (CSE) explicitly disables the implicit intersection behavior. This makes it possible to create formulas that manipulate multiple values input as ranges. If the formula in D6 is wrapped in SUM, then entered with control + shift + enter:

{=SUM(B4:B8+1)}

All values in the range are processed, and the formula returns 27.

Excel Tables

Implicit intersections can be useful in Excel Tables, where the same formula can be used in multiple cells (for consistency) but continue to resolve to a single cell at the row label. For example, this formula would add 7 days to the value in a "date" column in table:

=table[date]+7

Even though the formula refers to the entire "date" column, the formula will operate on a single value in the date column at the row level.

Dynamic Array Excel and @ operator

In the "dynamic array" version of Excel (available only through Office 365) all formulas are treated as array formulas by default, so there is no need to enter a formula with control + shift + enter to enable array behavior.

However, for compatibility reasons, you will sometimes see the @ symbol inserted in a formula created in an older (pre dynamic array) version of Excel. This @ symbol is called the implicit intersection operator, and it disables array behavior.

This is done to ensure that older formulas continue to return the same (single) result when they might otherwise spill multiple values onto the worksheet.  In general, functions that return multi-cell ranges or arrays will be automatically prefixed with @ if they were created in an earlier version. This behavior only occurs in dynamic array versions of Excel.