Why Your Excel File Is Slow and Large
Press Ctrl + End. If the cursor lands far below or to the right of your actual data, you have found the problem. Excel is storing and recalculating tens of thousands of empty-but-not-really-empty cells.
That "used range bloat" is the single most common cause of a spreadsheet that is slow to open, slow to scroll and far larger than its contents justify. The other three are volatile formulas, whole-column references, and conditional formatting that has multiplied.
These are worth tackling in order of payoff. The first fix routinely takes a file from 40 MB to under 2 MB in a couple of minutes.
1. Used range bloat
Excel tracks a rectangle from A1 to the furthest cell that has ever contained data or formatting. Delete the contents and the rectangle does not shrink — formatting, borders, or a fill colour applied to an entire column are enough to keep it.
The result is a file that thinks it has 500,000 rows when 800 hold data.
The fix, and every step matters:
- Press Ctrl + End to see where Excel believes the data ends.
- Click the row header immediately below your real last row.
- Press Ctrl + Shift + ↓ to select everything to the bottom of the sheet.
- Right-click a selected row header → Delete. Not the Delete key — that clears contents but leaves the formatting that caused the problem.
- Repeat horizontally for columns: Ctrl + Shift + →, right-click, Delete.
- Save, close, and reopen the file. The used range is only recalculated on save — skipping this makes it look as if nothing happened.
Repeat per worksheet. Ctrl + End should now land on your real last cell.
2. Volatile functions
Most formulas recalculate only when something they depend on changes. Volatile functions recalculate on every single change anywhere in the workbook — every keystroke, every entry.
The volatile ones:
| Function | Common replacement |
|---|---|
NOW(), TODAY() | A static date typed once, if it need not update |
RAND(), RANDBETWEEN() | Generate once, then paste as values |
OFFSET() | INDEX() — does the same job and is not volatile |
INDIRECT() | Direct references, or CHOOSE() |
CELL(), INFO() | Usually removable |
The OFFSET to INDEX swap is the highest-value change here. OFFSET is common in dynamic-range formulas, is volatile, and INDEX does the same work without the recalculation cost. A few hundred OFFSET formulas can make a workbook feel broken; the same logic in INDEX is unnoticeable.
3. Whole-column references
=SUMIF(A:A, "x", B:B) is convenient and asks Excel to consider over a million rows per formula. One is harmless. Five hundred, each scanning a million rows, is not.
Use a bounded range — A2:A5000 — or a Table, whose structured references expand automatically as data is added. Tables give you the convenience without the cost.
4. Conditional formatting that has multiplied
The quiet one, and it produces the most spectacular numbers.
Copying and pasting rows duplicates their conditional formatting rules. Do it enough and a workbook accumulates thousands of near-identical rules, each evaluated on every recalculation.
Check under Home → Conditional Formatting → Manage Rules, and set "Show formatting rules for" to This Worksheet. If the list scrolls for a long time, that is your problem. Delete the duplicates and reapply a single rule to the whole range.
Watch for rules whose "Applies to" range is a fragmented list of dozens of individual cells — a reliable sign of the copy-paste multiplication.
5. File size specifics
- Images. Select one, then Picture Format → Compress Pictures, and apply to all pictures in the document. Screenshots pasted at full resolution are frequently most of a file's size.
- Old .xls format. Save as .xlsx. The modern format is a zipped package and is typically far smaller.
- Pivot cache. A PivotTable stores its own copy of the source data. Several pivots over the same source can each keep a copy. In PivotTable Options → Data, untick "Save source data with file" where the source lives in the same workbook.
- Unused styles. Files passed between many people accumulate thousands of cell styles. Home → Cell Styles will show the clutter.
If it is slow but small
A small file that is still sluggish points at calculation rather than storage:
- Links to other workbooks, especially closed ones or files on a network drive. Data → Queries & Connections → Edit Links shows them.
- Array formulas over large ranges, which multiply the work per cell.
- Long dependency chains where each column feeds the next; Excel must resolve them in order and cannot parallelise.
As a diagnostic rather than a fix, set calculation to Manual (Formulas → Calculation Options) and see whether editing becomes responsive. If it does, the bottleneck is formula recalculation — but change it back afterwards, or you will meet the formulas not updating problem instead.
For navigating a large sheet rather than shrinking it, how to freeze panes in Excel covers keeping headers visible, including the selected-cell rule that decides what actually gets frozen.
On the duplicated rules mentioned above, Excel conditional formatting based on another cell covers how they multiply when rows are copied, and how to consolidate them.
Frequently asked questions
Why is my Excel file so large?
Usually used range bloat — formatting applied to entire rows or columns makes Excel store hundreds of thousands of empty cells. Press Ctrl + End: if it lands far past your data, that is the cause. Uncompressed images and pivot caches are the next most common.
Why is my Excel so slow?
Four usual causes: used range bloat, volatile functions recalculating on every change, whole-column references in many formulas, and duplicated conditional formatting rules. Check them in that order.
What does Ctrl + End do?
It jumps to the last cell of the used range — the furthest cell that has ever held data or formatting. If that is far beyond your real data, Excel is tracking far more cells than it needs to.
Why doesn't deleting rows reduce my file size?
Two likely reasons. You pressed Delete, which clears contents but leaves formatting — use right-click → Delete on the row headers instead. And the used range is only recalculated on save, so you must save, close and reopen before the change takes effect.
Which Excel functions are volatile?
NOW, TODAY, RAND, RANDBETWEEN, OFFSET, INDIRECT, CELL and INFO. They recalculate on every change anywhere in the workbook. Replacing OFFSET with INDEX is usually the single biggest improvement, since INDEX does the same job without being volatile.
Are whole-column references like A:A bad?
In small numbers, no. In hundreds of formulas, yes — each one asks Excel to consider over a million rows. Use a bounded range or convert the data to a Table, which expands automatically without the cost.
How do I find duplicate conditional formatting rules?
Home → Conditional Formatting → Manage Rules, then set "Show formatting rules for" to This Worksheet. A very long list, or rules whose "Applies to" is a fragmented list of individual cells, indicates duplication from copied rows.
Conclusion
Start with Ctrl + End. Used range bloat explains most oversized files, and the fix is quick — provided you use right-click Delete rather than the Delete key, and save and reopen afterwards.
If the file is small but sluggish, the problem is calculation instead: hunt volatile functions, whole-column references and duplicated formatting rules, in that order.
Related: why an Excel formula is not calculating covers the calculation modes, and speeding up a website applies similar thinking to web pages.
Comments