R013 — IFERROR Masking
Executive Summary
Key Takeaways
- ✓ R013 flags any formula using IFERROR or IFNA, which silently substitutes a fallback value whenever the wrapped calculation would otherwise return an error.
- ✓ A masked error can make a broken calculation look like an ordinary, valid result, since the fallback value displays with no visible indication that the underlying formula actually failed.
- ✓ Not every IFERROR or IFNA use is a defect — a deliberate, well-considered defensive wrap is a common and sometimes legitimate pattern, which is why every finding carries medium rather than high confidence.
- ✓ The review question a finding raises is whether the fallback value is correct in every scenario the formula could actually encounter, not only the scenario it was written for.
Purpose¶
R013 detects any formula cell that wraps its calculation in IFERROR or IFNA — functions that silently
substitute a specified fallback value whenever the wrapped formula would otherwise return an error, rather
than surfacing the error itself.
Detection Logic¶
Every formula in the workbook is checked for a call to IFERROR or IFNA anywhere in its structure. Every
match is flagged; R013 does not attempt to determine whether the specific wrap is a legitimate defensive
pattern or a masking risk — that judgement is left to the reviewer, which is why every finding carries
medium confidence rather than high.
Why It Matters¶
IFERROR and IFNA are commonly used to make a model look clean by hiding an error value behind a
plausible-looking fallback (frequently 0 or an empty string). The risk is that this fallback is
indistinguishable, on the surface, from a genuine calculated result — a reviewer scanning the model sees an
ordinary-looking number or blank cell, with no visible sign that the underlying formula actually failed and
was masked. If the wrapped formula begins failing under a condition the model's author did not originally
anticipate, the fallback silently substitutes for what should have been a visible, investigable error.
Evidence Produced¶
A triggered R013 finding's evidence identifies the specific sheet and cell address of the wrapped formula,
its formula text, and a description naming which masking function (IFERROR or IFNA) is used and noting
that the fallback value is silently substituted whenever the inner formula fails.
Severity¶
High. Weight 8.0. R013 is not one of the five critical-override rules. Confidence is always medium.
Example¶
Trigger. A valuation ratio formula reads =IFERROR(NOI/PurchasePrice,0). If PurchasePrice is ever
zero or otherwise causes an error, the formula silently displays 0 instead of surfacing the error. R013
flags this cell, asking a reviewer to confirm that displaying 0 in this scenario would not itself be
misread as a genuine calculated result (a 0% yield, rather than a masked error).
Non-trigger. The same formula without the wrap — =NOI/PurchasePrice — would surface a visible
#DIV/0! error if PurchasePrice were zero, rather than silently substituting a value. R013 does not fire
on an unwrapped formula, regardless of whether it might separately be flagged by
R006 (Propagated Errors) if it is
currently evaluating to an error.
Recommended Remediation¶
Confirm that the fallback value is correct and clearly distinguishable from a genuine result in every scenario the formula could realistically encounter. Where the wrap exists to mask a genuinely broken reference rather than to handle a legitimate edge case, investigate and fix the underlying reference instead of relying on the fallback. Where the wrap is a deliberate, considered design choice, document it so a future reviewer does not need to re-diagnose the same question.
Related Rules¶
R013 shares the Structural taxonomy category with the other Structural-category rules published in the Rule Reference — see the Rule Taxonomy page for the full category membership.
Related Articles¶
- Formula Error Types in Financial Models — the Knowledge Centre's reference to the principal categories of formula error, including IFERROR masking as a named silent-error pattern.
Version History¶
No version-specific changes to R013'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 R013 check for?
Any formula cell that wraps its calculation in IFERROR or IFNA, functions that silently substitute a specified fallback value whenever the wrapped formula would otherwise return an error.
Is using IFERROR always a mistake?
No. A deliberate, well-considered defensive wrap — for example, showing a blank cell instead of a #DIV/0! error during an early, incomplete build-out period — is a legitimate and common pattern. R013 flags every instance for review rather than treating each one as a confirmed defect, which is why confidence is medium rather than high.
Why is a masked error considered risky if it might be legitimate?
Because the fallback value looks identical to a genuine calculated result — there is no visible indication that the underlying formula actually failed. If the wrapped formula starts failing in a scenario the author did not originally anticipate, the fallback silently substitutes for what should have been a visible error, and a reviewer has no way to notice without specifically checking the formula.
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.
Formula Error Types in Financial Models
Formula errors in financial models fall into four principal categories: visible error values (including #REF!, #VALUE!, #DIV/0!, #NAME?, #N/A, #NULL!, and #NUM!), which display in cells and are immediately apparent; silent formula errors, which produce plausible-looking values but incorrect results; structural formula errors, which arise from incorrect model construction rather than incorrect values; and logic errors, which occur when a formula correctly implements an incorrect financial relationship. Each category requires different detection methods and carries different risk implications.