Field Notes

Excel is not a database: when your spreadsheet system starts to crack

The short answer

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.

SignWhat it costs youWhat fixes it
Emailed copies and FINAL_v7Decisions made on stale or conflicting numbersOne shared system: a single source of truth
Locked-file waitsStaff queueing to do their jobsA multi-user database built for simultaneous work
One-author macrosKey-person risk on the whole workflowBusiness logic in maintainable, documented code
Untouchable lookup chainsSilent corruption when the structure changesA relational database with validation and integrity rules
Customer data with no controlsGDPR duties you cannot meet or evidencePer-user logins, permissions and an audit trail
Engineering around ceilingsDeleted history, split archives, slow filesA database that treats a million rows as unremarkable
Spreadsheet versus accountsDays of reconciliation, figures nobody trustsData 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.

Questions this note gets asked

Is Excel a database?
No. Excel is a calculation and analysis tool that stores data in a flat grid. It has no relationships, no validation rules, no user permissions and no audit trail, which is exactly what a database provides. It is excellent for analysis and a poor system of record.
How many rows can Excel actually handle?
A worksheet holds 1,048,576 rows, and no setting raises that. In practice a workbook full of lookups and macros becomes slow and fragile at a small fraction of that figure, which is why teams start splitting files by year long before the hard ceiling.
Is it against UK GDPR to keep customer data in a spreadsheet?
Not in itself. UK GDPR requires appropriate security for personal data, including controlling who has access and being able to account for it. A workbook that is emailed around with no permissions and no audit trail makes those duties very hard to meet, let alone evidence, and that is the real exposure.
What should we replace a business-critical spreadsheet with?
Usually a small bespoke web application: a real database underneath, screens matching the workflow the spreadsheet evolved to serve, per-user permissions and an audit trail. The workbook itself becomes the specification, and its history becomes the opening data rather than being abandoned.
How do we find out how bad our spreadsheet situation is?
Count the seven signs in this post, then get an outside view. Proctor Digital offers a free Legacy Risk Audit: a 30 minute call that produces a written one-page risk summary of your system and the realistic options, whatever you decide to do next.

Is your own system on borrowed time?

Book a free Legacy Risk Audit
Replies within one working day, from the engineer, not a sales team.