## Ready Reference 3.0: Excel Operators & Operator Precedence

This Ready Reference article lists and describes the operators used in Excel worksheet expressions, their order of precedence in calculation and the types of data returned by each operator in an expression.

-Operator evaluation proceeds from left to right in an expression, except that evaluation of operators with a higher precedence to the right of the current operator occurs before those lower precedence operators to their left.

If you are ever uncertain of how Excel approaches a calculation, you can use the Evaluate Formula tool from the Formulas ribbon tab to execute an expression step by step and see the order in which calculations are resolved.

The table below sets out all the expression operators in Excel with their relative precedence in calculation. It shows the relative level of precedence of each set of operators. Operators listed with the same precedence are evaluated in the order in which they appear in an expression, as their precedence is equivalent.

Precedence | Operator | Result Type | Description |

1 | ( ) | Varies | Grouping operatorsPlacing parentheses around any part of an expression ensures that the parts of the expression inside the parentheses are evaluated prior to operators either side. The order of precedence within the parentheses is resolved left ot right based on the precedence listed here. The result type of an expression in parentheses is the result type of the lowest order operator within the parentheses. |

2 | : | Range | Range operatorReturns a reference to the range of cells bounded by the first (top-left) cell in the reference on the left of the operator and the last (bottom-right) cell in the reference to the right of the operator. Both references may be static references to a given range, a range name or a nested expression that returns a reference to a range. |

2 | [space] | Range | Intersection operatorThe space character (pressing spacebar once) returns a reference to the range of cells that are members of both the reference on the left and the reference on the right of the operator. |

2 | , | Range | Union operatorReturns a reference to the set of all cells that are members of either the reference on the left of the operator or the reference on the right of the operator. If a cell is a member of both references, it is only included once in the resulting reference. The returned range may consist of more than one area. |

3 | @ | Range | Implicit Intersection operatorThe at sign prefixed to an ambiguous range reference returns a reference to the cell in the same row and/or column as the referencing formula from the range. In older versions of Excel, the reference to multiple cells, where a single cell was required, automatically triggered an implicit intersection. With the introduction of dynamic array formulas, this now triggers an array calculation. The at sign allows you to right a formula that implements the old behavious. It is also used in Table formulas to mean the value in "this row" when referencing a table column. Some old workbooks when opened in Office 365 will have the at sign added automatically to formulas where the import thinks it is required, not always correctly. |

3 | # | Range | Spill Range operatorThe Spill range operator returns a reference to all the cells filled by a dynamic array formula in a range. If cell A3 has a dynamic array spilling results into A3:A10, the reference A3# returns a reference to that range. |

4 | - | Number | Unary negation operatorTakes one value only on its right. Returns the result of sign-switching the value on the right of the operator. |

5 | % | Number | Per cent operatorTakes one value only on its left. Returns the dividend that is the result of dividing the value on the left of the operator by the value 100. (Effectively shifts the decimal place left two places). |

6 | ^ | Number | Exponentiation operatorReturns the result of raising the value on the left of the operator to the power of the value on the right of the operator. |

7 | * | Number | Multiplication operatorReturns the product that is the result of multiplying the value on the left of the operator by the value on the right of the operator. |

7 | / | Number | Division operatorReturns the dividend that is the result of dividing the value on the left of the operator by the value on the right of the operator. |

8 | + | Number | Addition operatorReturns the sum that is the result of adding the value on the right of the operator to the value on the left of the operator. |

8 | - | Number | Subtraction operatorReturns the difference that is the result of subtracting the value on the right of the operator from the value on the left of the operator. |

9 | & | String (Text) | String concatenation operatorReturns the string result formed by appending the characters from the value to the right of the operator to the end of the string of characters from the value to the left of the operator. |

10 | = | Logical | Equality operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if they are equal, otherwise returns FALSE. |

10 | <> | Logical | Inequality operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if they are not equal, otherwise returns FALSE. |

10 | < | Logical | Less than operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if the value on the left is less than the value on the right, otherwise returns FALSE. |

10 | <= | Logical | Less than or equal to operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if the value on the left is less than or equal to the value on the right, otherwise returns FALSE. |

10 | > | Logical | Greater than operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if the value on the left is greater than the value on the right, otherwise returns FALSE. |

10 | >= | Logical | Greater than or equal to operatorReturns the result of comparing the value on the left of the operator to the value on the right of the operator. Returns TRUE if the value on the left is greater than or equal to the value on the right, otherwise returns FALSE. |

The table above can be sorted by operator, precedence and filtered by data type returned.

- Details
- James Clarkson