R020 — Anchor Drift
Executive Summary
Key Takeaways
- ✓ R020 checks, within an already row-consistent set of formulas, whether every reference to the same shared cell uses the same anchor class (relative or one of the three absolute variants).
- ✓ A minority of cells anchoring the same logical reference differently from the row's dominant anchor class is flagged as likely to be a copy-paste or editing error.
- ✓ R020 only examines cells that already conform to the row's dominant formula pattern — cells R004 would flag as pattern deviations are, by construction, excluded from R020's own comparison.
- ✓ Inconsistent anchoring is a silent risk specifically because it does not change the current calculated result — it only surfaces as an error when the row is later extended or copied further.
Purpose¶
R020 checks, within a row of formulas already sharing a consistent overall pattern, whether every reference to the same underlying cell is anchored the same way. Excel formulas can reference a cell relatively (shifting when copied), or with one of three absolute variants (column-fixed, row-fixed, or fully fixed) that do not shift the same way. When most of a row's formulas anchor a shared reference one way and a minority anchor it differently, that minority is flagged.
Detection Logic¶
Only cells that already conform to their row's dominant formula pattern are examined — cells that R004 would flag as pattern deviations are excluded by construction, so R020 and R004 never both flag the same cell. Within the conforming group, every reference to a shared underlying cell (one referenced by most of the row's formulas) is checked for its anchor class. If a majority of the row's formulas anchor that shared reference one way and a minority anchor the identical logical reference a different way, the minority cells are flagged.
Why It Matters¶
Anchor drift does not necessarily change a formula's currently calculated result — the risk is latent. When a row is later extended with additional columns, or its formulas are copied further across the sheet, a relatively anchored reference shifts along with the copy while an absolutely anchored one stays fixed. If one cell in a row was anchored inconsistently with its neighbors, extending or copying the row can cause that one cell to silently reference the wrong underlying value from that point forward, with no visible indication that anything changed — the formula still looks structurally correct, and the error only appears in the resulting number.
Evidence Produced¶
A triggered R020 finding's evidence identifies the specific sheet and cell address of the drifting formula, its formula text, and a description naming the specific reference in question, its anchor class, and the anchor class the rest of the row uses for that same logical reference.
Severity¶
High. Weight 8.5. R020 is not one of the five critical-override rules. Confidence is always medium.
Example¶
Trigger. A row of monthly formulas all reference a fixed annual rate cell as $B$2 (fully absolute) —
correct, since the same rate applies to every month. One cell in the row instead references it as $B2
(column-fixed only). R020 flags this one cell: it anchors the same logical shared reference differently
from the rest of the row.
Non-trigger. The same row, with every formula consistently referencing the rate cell as $B$2. R020
does not fire — there is nothing to flag when every reference to the shared cell is anchored the same way.
Recommended Remediation¶
Review the drifting cell's reference and align its anchor class with the row's dominant pattern, unless the row is later extended or the cell copied elsewhere, in which case verify the corrected anchor still produces the intended reference at the new location.
Related Rules¶
R020 shares the Integrity Controls taxonomy category with R021 — Hidden Sheet Dependency — see the Rule Taxonomy page for the full classification.
Related Articles¶
- Formula Consistency in Financial Models — the Knowledge Centre's buyer-facing technical guide to formula consistency across rows and periods, the broader concept R020's anchor-specific check sits within.
Version History¶
No version-specific changes to R020's severity, weight, or category are recorded as of engine version 2.1.0. This section will be updated in the same edit as any future change to the rule's declared attributes.
How OXXON tests thisRun a free structural check with FMAE
Frequently Asked Questions
What does FMAE rule R020 check for?
Within a row of formulas that already share the same overall structure, whether every reference to the same underlying cell is anchored the same way — using the same combination of relative and absolute ($) markers on the column and row.
How is this different from R004?
R004 flags a cell whose entire formula differs from the row's dominant pattern. R020 only examines cells that already match the row's dominant pattern, and checks a narrower, more specific property within those matching cells — whether a shared reference within the formula is anchored consistently. The two rules examine mutually exclusive sets of cells by construction.
Why does inconsistent anchoring matter if the formula currently calculates the same result?
Because the current result can be identical while the underlying reference behavior differs. The risk surfaces later — if the row is extended with additional columns, or the formulas are copied further, a relatively anchored reference shifts with the copy while an absolutely anchored one does not, silently producing a different, incorrect result at that point even though nothing looked wrong at the time of the original edit.
Related Articles
FMAE Rule Taxonomy
Every rule in the FMAE structural rule pack declares a category attribute at the point it is defined in source — this is not a classification imposed on the rules afterward for documentation purposes, it is the classification the engine itself uses. Six categories cover all 26 rules — Structural (18 rules), Assumptions Governance (1), Integrity Controls (2), Structural Hygiene (1), Aggregation Logic (1), and Model Governance (3). This page publishes that taxonomy as the FMAE equivalent of a control catalog's classification scheme, cross-linked to the Rule Reference page for each member rule.
Finding Data Model & Confidence
Every FMAE finding carries the same fixed structure — which rule triggered it and that rule's identity at the time it ran, its evidence, a narrative explanation, and a confidence label of high, medium, or low. Confidence is a deterministic categorical label derived from how strongly a row's cells agree on a pattern, not a machine-learning probability estimate. Stating this plainly matters, since describing FMAE's confidence as AI-derived or probabilistic would overstate what the engine actually does.
R021 — Hidden Sheet Dependency
R021 (Hidden Sheet Dependency) flags a hidden or very-hidden worksheet that is referenced by at least one formula on a visible worksheet. Reviewers examining a workbook through normal navigation cannot see a hidden sheet's contents, so errors, stale values, or edits made to a hidden sheet propagate silently into visible outputs without appearing anywhere a standard review would look. Hidden sheets referenced only by other hidden sheets, or not referenced by any visible sheet at all, are not flagged.
Formula Consistency in Financial Models
Formula consistency in a financial model means that cells in the same row or column that perform the same calculation use identical or structurally equivalent formulas. In a time-series financial model, the formula in the Year 1 column of a revenue line should be structurally identical to the formula in the Year 5 column of the same line, with references shifting as appropriate across periods. A cell that contains a formula materially different from its neighbours in the same row is either performing a different calculation intentionally (which should be documented) or contains an error introduced by manual editing.