Excel is not a database: when your spreadsheet system starts to crack
Excel is a superb calculator and a poor database. The workbook that quietly became the operating system of the business fails by degrees: emailed copies that disagree, locked-file waits, macros only one person understands, and customer data with no access control or audit trail to meet UK GDPR duties. The hard ceiling is 1,048,576 rows per sheet, but performance and trust give out long before. Here are the seven measurable signs a spreadsheet has become a system, what each one costs, what graduating to a small web application with a real database looks like, and the honest cases where Excel should stay Excel.
Nobody decides to run a company on a spreadsheet. A quoting sheet grows a customer tab, the tab grows a macro, and five years later the file everyone calls the master copy is the operating system of the business. Here are the seven signs it has passed its limit.
The seven signs
Each one is checkable this afternoon. Count honestly; the costs and fixes are in the table further down.
1. The filename is doing version control. If Orders_FINAL_v7.xlsx exists, so do v5, v6 and at least one FINAL_FINAL, and each was emailed to somebody who may still be working from it. A filename is not a version control system, however many underscores it carries. Every copy in circulation is a decision waiting to be made on stale numbers.
2. You wait for the file to unlock. “Someone else has it open” is a sentence staff learn to plan around: the morning rota for who opens it first, the read-only shuffle, edits pasted in later from a side copy. Excel was built for one author at a time. Cloud co-authoring exists for simple sheets; the complex, macro-laden workbook a business actually runs on is exactly the file it struggles with.
3. The macros have one author. VBA accreted over years is a codebase, whether or not anyone calls it one. If a single person understands the buttons, that person is the system, and their holiday is your outage. The macros will keep running right up until the first change nobody dares make.
4. There is a lookup chain nobody will touch. Lookups into hidden tabs into a second workbook on someone else’s drive. Insert a column in the wrong place and a report changes silently; delete one and every dependent formula breaks at once. When the structure of the file matters more than the numbers in it, you are maintaining a data model with no data integrity behind it.
5. Customer data sits in it with no lock on the door. Names, addresses, orders and complaints, in a file that has been emailed, copied to laptops and taken home. UK GDPR requires appropriate security for personal data: access limited to the people who need it, and the ability to say who holds it and where it has gone. A workbook has no user accounts, no permissions and no audit trail, so those duties become very hard to meet, let alone evidence. If a customer asked today what you hold on them, could you answer for every circulating copy? This is the one sign that is a legal duty rather than an inconvenience.
6. You are engineering around the ceilings. A worksheet tops out at 1,048,576 rows and no setting raises it, but performance gives out long before the limit does: files that take minutes to open, recalculation pauses everyone plans around, archive copies split off by year. If you have ever deleted history just to keep a file usable, the data has outgrown the container.
7. The spreadsheet disagrees with the accounts. The shadow system problem: the workbook says one thing, the accounting package says another, and somebody spends the last two days of every month reconciling them. Two sources of truth is zero sources of truth. When figures move between systems by retyping, every month-end is an act of faith.
What each sign costs
The signs are symptoms. Here is what each one quietly costs, and the property of a real system that removes it.
| Sign | What it costs you | What fixes it |
|---|---|---|
| Emailed copies and FINAL_v7 | Decisions made on stale or conflicting numbers | One shared system: a single source of truth |
| Locked-file waits | Staff queueing to do their jobs | A multi-user database built for simultaneous work |
| One-author macros | Key-person risk on the whole workflow | Business logic in maintainable, documented code |
| Untouchable lookup chains | Silent corruption when the structure changes | A relational database with validation and integrity rules |
| Customer data with no controls | GDPR duties you cannot meet or evidence | Per-user logins, permissions and an audit trail |
| Engineering around ceilings | Deleted history, split archives, slow files | A database that treats a million rows as unremarkable |
| Spreadsheet versus accounts | Days of reconciliation, figures nobody trusts | Data entered once, in one system that feeds the accounts |
What graduating looks like
Graduating does not mean an ERP suite or an eighteen-month project. For most businesses in this position it means a small web application: a proper database underneath, screens shaped like the workflow the spreadsheet evolved to serve, logins with permissions, and an audit trail recording who changed what and when. One source of truth, reachable from a browser, with the workbook’s history imported as opening data rather than abandoned.
The build is usually smaller than owners expect, because the spreadsheet is the specification: every tab, macro and folklore rule is a requirement written down the hard way. That is the work we do as bespoke software, and if the workbook in question is really a customer list with a pipeline attached, the comparison in bespoke CRM vs off-the-shelf covers honestly when a package beats a build.
When Excel should stay Excel
Some workbooks should not graduate, and it would be dishonest to pretend otherwise. If a file has one owner, answers a question rather than running a process, and could be rebuilt from scratch in a day without anyone else noticing, it is analysis, not a system, and Excel remains the best analysis tool ever shipped. Financial models, one-off costings, exploratory number-crunching: leave them exactly where they are.
The test is workflow. The moment several people depend on the same file, in sequence, as the record of what is true, it has stopped being a spreadsheet and become a system. The only question left is whether it is a good one.
What to do next
Calmly, and in order. Nominate the single master copy and stop the emailing today; move the file to one shared location. Take a dated backup before anything else changes. Then write down what the workbook actually does: what goes in, what comes out, which tabs matter, which macros nobody understands. That document is valuable whoever you end up working with.
Then count your signs. One or two: tidy up and carry on. Four or more: the workbook is load-bearing, and the same conversation applies whether the container is Excel or an Access database at breaking point. The low-effort way to have that conversation is a free Legacy Risk Audit: a 30 minute call and a one-page written risk summary saying whether tidying, a half-step or a small rebuild fits, in plain terms you can put in front of whoever owns the budget.