Skip to content
Request Demo

Excel Performance and Large Model Optimisation

Technical Guide • Intermediate • 8 min read

Audience
Model Developers
Last Reviewed
July 2026
Updated
Version 1.0

Executive Summary

A financial model's calculation performance degrades predictably as it grows — more formulas, more volatile functions, more cross-workbook links, and more array-heavy calculations all add directly to the time Excel needs to recalculate the workbook. This is a construction and maintenance discipline distinct from structural correctness — a model can be perfectly correct and still be unusable in practice if a single keystroke triggers a multi-minute recalculation. This guide covers the specific mechanisms that drive recalculation cost in a large institutional model and the techniques used to manage it, primarily volatile function discipline, calculation mode management, and workbook size and link-count control.

Key Takeaways

  • Calculation performance degrades predictably with model size and is driven primarily by volatile functions, array-formula scale, cross-workbook link count, and total formula count.
  • A volatile function recalculates every time any cell in the workbook changes, regardless of whether its own inputs changed, making it disproportionately expensive in a large model.
  • Switching to manual calculation mode during heavy editing is a legitimate, standard technique, but it introduces its own risk if a model is saved or shared without a full recalculation first.
  • Performance optimisation is a construction and maintenance discipline distinct from structural correctness — a model can be fully correct and still be operationally unusable if it recalculates too slowly for its intended use.

Institutional Definition

Excel performance optimisation, in a financial modelling context, is the discipline of managing a model's calculation cost so that it remains usable — editable, auditable, reviewable — as it grows to institutional scale. A model's structural correctness and its calculation performance are related but separate properties: a model can be fully correct, with every formula calculating the right result, and still be effectively unusable if a single input change triggers a recalculation that takes minutes rather than seconds. This guide addresses the specific mechanisms that drive recalculation cost in a large model and the techniques used to manage them.

Why It Matters

Recalculation cost is not a cosmetic inconvenience once a model reaches institutional scale — a multi-tab project finance or portfolio model with tens of thousands of formula cells, multiple scenario toggles, and cross-workbook links can genuinely take minutes to recalculate on ordinary hardware if its underlying drivers of calculation cost are not managed. This has direct consequences for how the model is actually used: an analyst working under deadline pressure who disables automatic calculation to keep editing responsive, and then forgets to force a full recalculation before submitting the model, can submit outputs that do not reflect the model's current inputs — a risk category distinct from, but with a similar failure mode to, broken links silently retaining stale values.

Performance management is therefore a legitimate part of the construction discipline covered across this Knowledge Centre's Financial Modelling Best Practices cluster, alongside structural conventions such as Spreadsheet Engineering — a well-engineered model that is too slow to use in practice has not actually achieved its purpose.

Volatile Functions

What Makes a Function Volatile

A volatile function is one whose result Excel cannot assume is unchanged since the last calculation, so it is recalculated on every workbook recalculation regardless of whether its own arguments changed. INDIRECT, OFFSET, NOW, TODAY, RAND, RANDBETWEEN, and CELL are the functions most commonly identified as volatile in Excel. A single volatile function forces Excel to re-evaluate it on every recalculation cycle, and every formula that depends on it is, in turn, forced to recalculate as well — even if none of the values those formulas actually reference have changed.

Why Volatility Compounds in Large Models

The cost of a volatile function is proportional not to how often its own result actually changes, but to how often the workbook recalculates at all, and how many downstream formulas depend on it. A single OFFSET-based lookup used once in a small model is a negligible cost. The same function, used as the basis for a dynamic named range referenced across dozens of calculation schedules in a large model, forces a much larger portion of the workbook to recalculate on every edit — the volatility of one formula propagates through its entire dependency chain.

Managing Volatile Function Use

The standard mitigation is substitution: INDEX provides the same dynamic-range capability as OFFSET in most modelling contexts without the volatility, because INDEX returns a reference without needing to recalculate on every workbook change. A direct cell reference, or a named range with a fixed reference, is preferable to INDIRECT wherever the reference does not genuinely need to be constructed from text at calculation time. Where a volatile function is genuinely the clearest or only practical way to express a calculation, its use should be deliberate and limited, and ideally documented so a later reviewer understands why the non-volatile alternative was not used.

Calculation Mode

Automatic Versus Manual Calculation

Excel's default calculation mode recalculates the entire workbook (or, in Excel's more efficient default behaviour, the cells actually affected by a change) after every edit. In a large model, this means every keystroke that changes an input can trigger a calculation cycle lasting several seconds or longer, which materially slows down the editing process itself.

Switching to manual calculation mode (Formulas → Calculation Options → Manual) stops Excel from recalculating after every edit, allowing a modeller to make a batch of changes and then trigger a single recalculation (F9 for a full recalculation, Ctrl+Alt+F9 to force a full recalculation of every formula including those Excel would otherwise skip as unchanged) once the batch is complete.

The Risk Manual Mode Introduces

Manual calculation mode is a legitimate, standard technique, not a workaround to be avoided — but it introduces a distinct risk that must be actively managed: a workbook left in manual mode displays whatever values were last calculated, which may no longer reflect the model's current inputs if changes have been made since the last recalculation. Excel's only persistent indicator of this state is a small "Calculate" notice in the status bar, easily missed. A model saved, shared, or submitted while in manual mode and not fully recalculated first can present outputs that silently do not reflect its current inputs — the same class of risk, in effect, as a broken link retaining a stale cached value.

Best Practice for Calculation Mode

A model should be returned to automatic calculation mode and fully recalculated before it is saved for submission, shared with a reviewer, or handed off to another user. Where manual mode is used during active development, it should be treated as a temporary editing state, not a default the model is left in.

Array-Formula and Formula-Count Cost

Array-Formula Scale

An array formula — including a legacy Ctrl+Shift+Enter array formula and a modern dynamic array formula — that operates across a large range is more expensive to recalculate than an equivalent formula applied to a smaller range, because Excel must evaluate the calculation across every element of the array on each recalculation. A SUMPRODUCT or array-based lookup applied across an entire column, rather than a range sized to the model's actual data, recalculates the full column's worth of cells every time, regardless of how much of that column is actually populated. See Dynamic Arrays and Power Query in Modelling for the structural and audit considerations specific to modern dynamic array functions.

Formula Count and Full-Column References

Total formula count is the most direct driver of recalculation time: a model with more formula cells has more work to do on every recalculation cycle. Full-column or full-row references (SUM(A:A) rather than SUM(A2:A500)) are a common, avoidable source of unnecessary formula-count cost, because Excel must consider every cell in the referenced column or row, including the large majority that hold no data, on every recalculation.

Every cross-workbook link Excel must resolve on recalculation adds direct cost, and — as covered in Broken Links — adds structural fragility as well. A model with a high volume of external links to other workbooks is both slower to recalculate and more exposed to link-integrity risk than an equivalent self-contained model. Minimising cross-workbook links, or consolidating a multi-file model architecture into a single file where feasible, addresses both concerns simultaneously.

File Size as a Symptom, Not a Cause

A large workbook file size is a useful early warning signal but is not itself the direct driver of slow recalculation — file size reflects formula count, historical formatting bloat (formatting applied to entire rows or columns rather than the populated range), embedded objects, and unused named ranges or defined names accumulated over many editing cycles, several of which independently affect calculation performance. Addressing file size symptomatically, for example by compressing embedded images alone, will not materially improve recalculation speed if the underlying formula-level drivers are untouched.

Common Mistakes

Common Mistake Why It Matters
Using OFFSET or INDIRECT where a non-volatile alternative exists Volatile functions force recalculation on every workbook change regardless of whether their own inputs changed, and the cost compounds across every downstream formula that depends on them.
Leaving a model in manual calculation mode before sharing or submitting it A model displaying stale, pre-edit values with no full recalculation performed can present outputs that do not reflect its current inputs, with only a small, easily missed status-bar indicator warning of the state.
Using full-column or full-row references in formulas SUM(A:A) forces Excel to consider every cell in the column, including the vast majority holding no data, on every recalculation — a fixed reference sized to the model's actual data range is materially cheaper.
Treating file size reduction as a performance fix on its own File size is a symptom of several independent underlying drivers; reducing it without addressing formula count, volatile function use, or link count does not reliably improve recalculation speed.

Best Practices

Best Practice Why It Matters
Prefer INDEX over OFFSET, and a direct reference over INDIRECT, wherever the dynamic construction is not genuinely required Removes unnecessary volatility without sacrificing the calculation's intended behaviour in the large majority of cases where the volatile version's flexibility is not actually needed.
Use manual calculation mode deliberately during heavy editing, and always force a full recalculation before saving for submission Captures the editing-speed benefit of manual mode while eliminating the stale-output risk it otherwise introduces.
Size formula ranges to the model's actual data rather than using full-column references Directly reduces the number of cells Excel must evaluate on every recalculation cycle.
Minimise cross-workbook links, consolidating into a single file where feasible Reduces both recalculation cost and the structural fragility described in Broken Links, addressing both concerns with the same change.
Periodically audit and remove unused named ranges, orphaned defined names, and excess formatting Reduces accumulated file-size bloat from historical editing cycles that would otherwise persist indefinitely.

References & Further Reading

The following sources have been verified against their primary publisher and are listed in full, with links, in the References section below. - Excel performance — Improving calculation performance, Microsoft Learn - Excel performance — Tips for optimizing performance obstructions, Microsoft Learn

Continue Reading

Prerequisites

How OXXON tests thisRun a free structural check with FMAE

Frequently Asked Questions

Why does my financial model take a long time to recalculate?

The most common causes are volatile functions (which recalculate on every change to any cell in the workbook, not just their own inputs), large array-formula ranges, a high total formula count, and a high number of cross-workbook links, each of which Excel must resolve on every recalculation.

What is a volatile function?

A function whose result Excel cannot assume is unchanged unless it is recalculated, so it is recalculated on every workbook change regardless of whether its own arguments changed. INDIRECT, OFFSET, NOW, TODAY, RAND, RANDBETWEEN, and CELL are the commonly cited volatile functions in Excel.

Should I always avoid volatile functions?

No. Volatile functions are sometimes the clearest or only practical way to express a calculation. The discipline is to use them deliberately and sparingly in the parts of a model where their volatility is functionally required, and to prefer a non-volatile alternative (such as INDEX in place of OFFSET, or a direct reference in place of INDIRECT) wherever one exists.

Is manual calculation mode safe to use?

It is a standard technique for managing performance during heavy editing, but it carries a real risk — a model left in manual mode can be saved, shared, or reviewed while displaying stale, pre-edit values with no persistent visual warning beyond the status bar. A model should always be returned to automatic calculation and fully recalculated (F9 or Ctrl+Alt+F9) before it is shared or submitted externally.

Does file size directly cause slow recalculation?

Not directly — file size is a symptom of the underlying drivers (formula count, historical formatting bloat, embedded objects, unused named ranges) rather than the cause itself. A large file is a useful early warning sign that one of those underlying drivers should be investigated, but reducing file size alone (for example, by compressing images) does not reliably improve calculation performance if the formula-level drivers are untouched.

Related Articles

Financial Modelling Best Practices — Standards Compared

Financial modelling best practice is not a single document but a landscape of named institutional standards, each publishing its own conventions for how a model should be structured, formatted, and documented. This page defines that landscape — what a named modelling standard actually is, how the FAST Standard and the ICAEW Financial Modelling Code differ in approach and scope, and how a practitioner chooses between them or applies more than one. It sits beside, not instead of, the Knowledge Centre's structural-foundation page on what makes an Excel financial model reliable — this page is about who has codified that discipline into a named standard, and how those standards compare to one another.

Spreadsheet Engineering

Spreadsheet engineering is the application of systematic engineering principles to the construction and maintenance of spreadsheet-based financial models. It treats a financial model as a software artefact subject to design principles, structural requirements, and quality standards analogous to those applied in software engineering, rather than as an ad hoc calculation tool built without formal discipline. The core principles of spreadsheet engineering are: separation of inputs, calculations, and outputs; consistent formula construction; avoidance of circular dependencies; complete documentation; and systematic version control. These principles are codified in recognised standards including the ICAEW Financial Modelling Code and the FAST Standard.

Broken Links in Financial Models

Broken links in financial models are references to cells, ranges, or external files that no longer resolve correctly. They occur in two forms: internal broken links, where a cell references a named range, cell address, or worksheet that has been deleted or renamed within the same workbook; and external broken links, where a cell references a cell or range in a separate workbook file that is unavailable, moved, or renamed. Both types can cause formula cells to return errors or silently retain stale cached values, distorting model outputs without visible indication to the user.

Request Demo