Formula Audit Checker
When to use
Use this skill when reviewing an Excel model that was built by someone else, or verifying your own model before sharing it with a client or senior stakeholder. Trigger it when a model has been flagged for quality review, when a version handover is happening, or before a model is used to make a significant financial decision. It is most valuable as a pre-submission quality gate: running this audit before a model is presented to a board, an investment committee, or a client.
What it does
Provides a systematic, step-by-step model audit process covering: Excel's native formula auditing tools (Trace Precedents, Trace Dependents, Error Checking), detection and correction of hardcoded values in formulas, identification of circular references, consistent IFERROR wrapping, and documentation of audit findings in a review log. The output is a completed audit log and a list of prioritized issues to fix.
Method
-
Save a working copy before auditing. Before making any changes, save the model as a new file with "_Audit_YYYY-MM-DD" appended to the name. All edits during the audit should be made on this copy. This preserves the original state for comparison.
-
Run the Error Checking tool. Go to Formulas > Error Checking. Excel will step through all cells that contain errors (#N/A, #REF!, #DIV/0!, #VALUE!, #NAME?) and display the error and the formula. For each error: diagnose the cause (missing lookup key, deleted source cell, wrong data type, missing named range), fix it, and document it in the audit log with: cell reference, error type, cause, fix applied, severity (Critical, Major, Minor).
-
Find and resolve circular references. Go to Formulas > Error Checking > Circular References. Excel will list any cells with circular dependencies. Circular references are almost always an error in a financial model (except in iterative calculation scenarios, which are rare and must be explicitly intentional). For each circular reference: trace the dependency chain, identify the loop, and break it by restructuring the formula logic. Document each circular reference found.
-
Use Trace Precedents to verify formula logic. For every major calculation row (revenue, EBITDA, FCF, equity value, IRR), click the cell and press Ctrl+[ or go to Formulas > Trace Precedents. This draws arrows showing which cells feed this formula. Verify: (a) the formula is pulling from the correct tabs (Inputs tab for assumptions, Data tab for references, correct Calc tab for intermediate results), (b) no unexpected cells are being referenced, (c) the formula does not reference cells that should be on a different tab.
-
Use Trace Dependents to check what a cell feeds. For key output cells on Calc tabs, use Formulas > Trace Dependents to see which downstream cells reference this output. This confirms: (a) that output cells are being picked up by the Outputs tab correctly, (b) that no unexpected downstream formulas are referencing a cell that should be a local intermediate.
-
Find all hardcoded numbers in formula cells. This is the most important audit step for model integrity. All hardcoded numbers (except on the Inputs tab) are model errors because they cannot be easily changed without opening each formula.
Step: Press Ctrl+H (Find and Replace). Click Options. Set "Look in" to Formulas. Search for specific numbers to check (try "0.2", "0.3", "0.15", "1000", "12"). Any formula containing these numbers outside of the Inputs tab should be investigated.
Better approach: Use Excel's Go To Special feature (Ctrl+G > Special > Constants > Numbers). This selects all cells containing hardcoded numbers. Review: any such cell on a Calc tab that is not on the Inputs tab should be flagged.
For each hardcoded number found in a Calc formula: move the assumption to the Inputs tab, give it a label, apply blue fill, and replace the hardcode with a cell reference to the Inputs tab.
-
Audit for IFERROR consistency. Review all lookup formulas (VLOOKUP, INDEX-MATCH, XLOOKUP, MATCH) to verify they are wrapped in IFERROR. An unwrapped lookup that returns #N/A can propagate through downstream formulas silently, producing incorrect results.
To find unprotected lookups: Ctrl+F > search for "=VLOOKUP", "=INDEX(", "=XLOOKUP" without the "IFERROR(" prefix. For each unprotected lookup: wrap in IFERROR(formula, "Check: [description] not found") or IFERROR(formula, 0) depending on the context. Document each lookup that was wrapped.
-
Check named range integrity. Go to Formulas > Name Manager. For every named range: verify it refers to the correct cell or range (no #REF! in the "Refers to" column), verify the name is still used in the model (search for the name in formulas using Ctrl+F), and delete any orphaned named ranges (names that no longer have a valid reference or are no longer used).
-
Verify the sign convention. A common model error is an inconsistent sign convention -- some items positive, some negative, with no stated rule. Audit: all income statement items (revenue, gross profit, EBITDA) should be positive numbers. Costs may be positive (with subtraction in the formula) or negative (with addition). Pick one convention and apply it consistently. Flag any row where the sign appears inconsistent with surrounding rows.
-
Check the sensitivity tables for correct input cell references. In any Excel Data Table, the Row input cell and Column input cell must reference the exact cells on the Inputs tab that are being varied. A common error: the input cells reference a different cell than the one actually used in the model calculations. To verify: manually change the Row input cell value and check that the model output changes as expected. Then run the Data Table and verify the results change accordingly.
-
Audit the formula complexity. Long nested IF formulas (more than 2 levels) are an audit risk because they are hard to read, hard to debug, and prone to logic errors. Flag any formula longer than 150 characters or containing more than 2 levels of nesting. For each flagged formula: break it into intermediate calculation rows, name each intermediate step clearly, and replace the nested formula with a cleaner step-by-step sequence.
-
Complete the audit log. Record all findings in a structured audit log table on the Documentation tab or in a separate Audit Log tab:
Finding ID | Tab | Cell | Issue Type | Severity | Description | Status (Open/Fixed) | Fixed by | Date fixed.
Issue types: Hardcoded value, Circular reference, Formula error, IFERROR missing, Sign inconsistency, Named range broken, Sensitivity table error, Formula complexity.
Severity: Critical (will produce wrong results in current state), Major (will produce wrong results in certain conditions), Minor (does not affect results but violates conventions).
Summarize at the top of the log: total findings, critical count, major count, minor count, and overall audit status (Pass if zero Critical, Conditional Pass if only Minor, Fail if any Critical or Major unresolved).
Inputs
- The Excel model to be audited (tab names, description of purpose, and where key outputs live)
- Any known issues or concerns flagged by the model builder
- The audience for the model (determines how rigorous the audit needs to be)
- The deadline for completing the audit
Output format
A complete audit specification with:
- Audit checklist: All 12 audit steps as a verifiable checklist with the Excel navigation path for each.
- Hardcode detection instructions: Step-by-step Ctrl+H and Go To Special approach.
- IFERROR audit instructions: The search string to find unprotected l