Skip to content
Apsan Works

The Spreadsheet Ceiling: Knowing When You Have Hit It

Spreadsheets are excellent software. But there is a specific point where they start costing more than they save. Here is how to recognise it.

5 min readUpdated 13 September 2026

Spreadsheets get unfairly maligned by people selling alternatives. They’re extraordinary software: instantly available, universally understood, infinitely flexible, and needing no engineer to change. A business running its operations on a well-built spreadsheet isn’t doing something wrong. It’s usually doing something sensible.

But there’s a point where the same properties that made a spreadsheet the right choice make it the wrong one, and the transition is gradual enough that it’s easy to miss by a couple of years.

Six signals you have crossed it

One person is the system. There’s someone who knows why column AF has that formula, which tabs have to be updated in which order, and what to do when the import looks wrong. Everyone else just follows a ritual. This is the clearest signal of all, because you no longer have a process. You have a dependency on a person, and it isn’t fair to them either.

Concurrent edits have become a coordination problem. People message each other before opening the file. Three versions exist with a date in the filename. The shared copy has a “do not touch” note on it. Spreadsheets were designed for one author, and they never fully escaped that.

The same data gets typed in twice: once in the spreadsheet, again in the CRM, the accounting system, or the ordering tool. Every duplicate entry is a chance for divergence, and divergence in operational data compounds quietly until a reconciliation finally reveals it. Automating that reconciliation has its own failure modes, covered in data enrichment automation.

Errors get discovered downstream, a wrong figure reaching an invoice, a report, or a customer before anyone notices. Spreadsheets have essentially no validation (any cell accepts anything), so the first real check on data quality is usually a person noticing something looks off.

History becomes unrecoverable. Someone asks what a record looked like in March, or who changed a value and why, and the spreadsheet’s answer is a shrug and a folder of monthly copies.

The file has gotten slow: recalculation lag, crashes on open, formulas referencing other workbooks that reference other workbooks. People notice this one first, and it’s actually the least important. A slow file is annoying. Silent data corruption is expensive.

What usually should not change

The instinct once a team decides to replace a spreadsheet is to buy a large platform. Sometimes that’s right. Often it trades a flexible tool your team understands for a rigid one that fits eighty percent of your process, and the other twenty percent becomes a new spreadsheet alongside it, which is where you started, now with a subscription attached.

Two things deserve preserving through any migration. The first is the flexibility to change without an engineer: whatever replaces the spreadsheet needs configurable rules, or you’ve traded agility for structure and made your team slower in the process. The second is the visibility of everything at once. People like spreadsheets partly because you can see the whole dataset and spot the outlier, and interfaces that show only one record at a time lose something real. Good replacements keep a table view.

The migration that works

Don’t migrate everything. Most spreadsheets contain one genuinely critical dataset and a lot of accumulated scratch work. Find the core, move that, and leave the rest where it is; half of it will turn out to be unused anyway.

Model the data before designing screens. What are the entities, how do they relate, what states can they be in, which transitions are legal? A spreadsheet flattens all of this into a grid, and recovering it is the actual work, and where the value is. Interfaces are comparatively easy once the model is right.

Enforce validation from day one. The whole point of the move is that bad data becomes impossible rather than merely discouraged: required fields, typed values, referential integrity, legal state transitions.

Run both systems in parallel briefly. The spreadsheet keeps going while the new system gets populated, and the outputs get compared. Nobody switches on faith. Two or three weeks of agreement builds more confidence than any amount of testing would. The same parallel-run discipline scales up to replacing a larger legacy system, just over a longer window.

Keep an export available. People need to know they can get their data back into a grid to do something unanticipated with it, and guaranteeing that removes most of the resistance to the move, because it’s an honest guarantee. It’s their data.

When to leave it alone

If the spreadsheet is maintained by one person, isn’t a shared dependency, changes rarely, and nobody is re-keying its contents elsewhere, genuinely leave it alone. Not everything needs to become a system, and a tool built to replace something that was already working fine is a cost with no return.

The trigger is coordination overhead, not the file itself. Once more than one person needs to depend on it, at the same time, with data that has to stay consistent with something else, that’s the ceiling. Below it, the spreadsheet isn’t just acceptable. It’s correct.

We build the systems that replace spreadsheets when it is genuinely time. See how, or read about which internal tools justify the build.

Tell us what is slowing you down

A short conversation is usually enough to tell whether this is a build, an automation, or something you should not do at all. We will tell you which.