A spreadsheet only one person understands is an operational risk, not a documentation gap. How to read the file, which questions get answers, and the exit test.
Key takeaways
- Excel's built-in auditing tools reveal the dependency structure in minutes, but Microsoft's documentation states plainly that they do not trace named constants or formulas in a closed workbook.
- An `IFERROR` wrapped around a lookup turns a real failure into a blank cell, so a spreadsheet that looks correct is not necessarily correct.
- The valuable knowledge lives in the exceptions, not in the happy path. Asking about "the last time this broke" returns more than any request to describe the process.
- A per-tab map with fixed fields turns a long conversation into a document you can compare against.
- The exit test is not a document. It is a second person running a real cycle end to end without asking a question.
What is missing from a spreadsheet like this is not documentation but the decisions nobody ever wrote down: when a row gets skipped, which number overrides another, and what happens when the file that should have arrived did not. Extracting that knowledge starts with reading the file itself, and only then with talking to the person who runs it.
The real risk is not that the employee leaves
Leaving is only the date the risk materialises. The risk itself is present every single day, and it looks like this: nobody but one person knows which file a particular number comes from, at which point it gets pasted in, and what to do when it looks wrong. As long as that person is around, the machine works and nobody feels anything is missing.
This is why knowledge extraction is not a documentation project. It is the step that precedes automation, because you cannot program a decision nobody has articulated. Converting a spreadsheet like this straight into a system produces something that looks right most of the time and fails on precisely the cases the spreadsheet was built to handle in the first place.
Read the file before you interview anybody
An hour with the file saves three conversations. The tools are inside Excel already, and they answer questions a person does not always remember to answer:
- Switch the sheet to display formulas instead of values and scan it by eye. A cell that looks like data and turns out to be a formula is your first finding.
- Use Trace Precedents and Trace Dependents to see where each number comes from. Note the documented limitation: the arrows do not trace named constants, and they cannot show formulas in another workbook while that workbook is closed.
- Open the Name Manager. A named range pointing at an area that no longer exists is a quiet time bomb.
- Check the list of links to external workbooks. Every one of them is a dependency on a file that lives with somebody else, on a path that can change.
- Search for formulas containing a hardcoded number. A coefficient written directly into a formula is a business decision disguised as a technique.
- Search for
INDIRECT. A reference assembled from a text string does not exist until the formula evaluates, so dependency tracing cannot follow it. - Check for hidden tabs and hidden rows or columns. They exist almost every time, and usually in the important sheets specifically.
- Check the calculation mode. A workbook set to manual calculation displays stale values without warning anybody.
What do you ask to get a real answer?
Not "walk me through the process". The answer to that always describes the happy path, which is exactly the part you could have inferred from the file without asking. The questions that return new information are aimed at deviation:
- When was the last time the number came out wrong, and how did you notice?
- What do you do when the file that should arrive on Sunday does not arrive?
- Is there a customer or an item you handle differently from all the others? Why?
- Which cell do you eyeball before sending, even when everything looks fine?
- What happens if this gets run twice on the same day?
- What information do you bring in from outside the file: a message, a phone call, a screen in another system?
That last question surfaces what will never appear in the spreadsheet. A significant part of the work in critical spreadsheets rests on information living in a completely different channel, and the person running it does not see that as part of the process - just as part of their day.
The mapping sheet: one row per tab
Turning the conversation into something you can work against means a table with fixed fields. The identical fields for every tab, so gaps become visible by comparison.
| Field | What goes in it | Why it matters |
|---|---|---|
| Input source | File, system, manual paste or typing | Decides whether an interface for automation exists at all |
| Who updates it | A role, not a first name | Exposes any tab with no owner |
| The manual step | The exact action a human performs | This is the step that vanishes in conversion if it is not written down |
| The deciding formula | The one cell that determines the output | There is usually one, and not always the most prominent |
| Output | What leaves the tab and where it goes | Separates a working tab from a deliverable tab |
| Consumer | Who receives the result | A tab with no consumer is a candidate for the archive |
| Frequency | Daily, weekly, monthly, event-driven | Sets how many cycles you need to shadow |
| What breaks it | The failure that has actually occurred | The field your validation checks are derived from |
That last field is the only one you cannot fill in by reading the file. It comes only from a conversation, and it is the single reason the conversation is needed.
A worked case: the tab holding one exception
A pricing workbook with four tabs. The price list tab pulls a discount from a customer table with a lookup, and the lookup is wrapped in IFERROR returning the list price when no match is found. So far, reasonable. The finding turns up in the formula scan: on one row, for one customer, there is no lookup at all but a coefficient written directly into the formula.
What had happened: two years earlier a special price was agreed with that customer which did not fit the structure of the discount table, and the fix was to write it into the formula. Nobody documented it, because it was not a change to the process - it was a two-minute correction.
Now count what the wrapper concealed. IFERROR converts every lookup failure into a full list price, so a customer deleted from the discount table keeps receiving a plausible-looking price with no warning at all. An automation that converts this tab as-is will reproduce both faults: it will drop the exception and it will hide the error. The discovery cost twenty minutes of displaying formulas. Not discovering it would have surfaced on the first invoice. Handling the errors that a scan like this exposes is covered in recovering from SPILL, REF and N/A errors in Excel.
When is the knowledge actually extracted?
When a second person runs a real cycle end to end without asking a question, and their result matches the original owner's. A document is not a test; execution is a test. Three conditions complete it:
- You shadowed at least one full cycle in real time, including the steps that happen outside the file.
- You documented one real exception that occurred, not a hypothetical one described in conversation.
- A sample input exists alongside its expected output, so any future implementation can be compared against them.
Only after those three is there a basis for automation, because there is something to check it against. The next decision - whether and when to convert the spreadsheet into a system - is covered in knowing when a spreadsheet has been outgrown. And if the spreadsheet holds customer data, that carries consequences for how it is stored and shared, set out in Privacy Law Amendment 13 and the customer spreadsheet.
Sources
Frequently asked questions
The owner says there is nothing special about the file. Should I believe them?
Yes, and check anyway. They genuinely do not see anything special, because the exceptions turned into routine for them long ago. Displaying formulas and scanning the sheet visually finds a hardcoded coefficient or a hidden tab within minutes, neither of which they thought to mention.
How many cycles should I shadow before starting to build?
At least one complete cycle, and preferably two of different character - an ordinary month and a closing month. A single cycle shows only the happy path. The exceptions, which are the valuable part of the knowledge, generally appear only when you compare two cycles that are not identical.
Can we record the explanation instead of writing it down?
Yes, with the participants' consent, and it is especially useful for the steps happening outside the file. But a recording is not a document: nobody will hunt through an hour of video for the one rule they need. The recording is raw material for filling in the mapping table, not a substitute for it.
What if the owner has already left?
Start from the file and from the outputs it produced. Reconstructing three previous cycles against the output that was actually sent recovers most of the rules. Whatever remains unexplained after that comparison is exactly the list of questions to put to the people who consume the output.
Keep reading
Related service
Access & Excel Rescue
Stabilise the file the business runs on, then fix it or move it to the web.
About the author
Yehonatan Saadia
Freelance automation, web & MVP developer
I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.
Work with meHave a project like this?
Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.
