# volatile functions

functions that recalculate on every change, whatever their inputs did.

Most functions recalculate only when a cell they depend on changes. A volatile function recalculates on every recalculation of the workbook, because its result can change without any input changing — NOW and TODAY are the obvious cases, and RAND, RANDBETWEEN, OFFSET and INDIRECT behave the same way.

Volatility is contagious: any formula depending on a volatile cell also recalculates every time. In a large model this is the usual cause of sluggish recalculation.

Where performance matters, prefer non-volatile alternatives — INDEX instead of OFFSET, a direct reference instead of INDIRECT — or park the volatile value in one cell and reference it.

## related

recalculation · array formulas

## navigate

- [all concepts](https://deepcalc.com/concepts.md)
- [function index](https://deepcalc.com/functions.md) · [error values](https://deepcalc.com/errors.md) · [limits](https://deepcalc.com/limits.md)

source: https://deepcalc.com/concepts/volatile-functions