SuperNX—Learn

SuperNX / Learn

How to Do a Tolerance Stack-Up in Excel (and When to Stop)

A 1D stack-up in Excel is a signed sum of nominals plus two tolerance-combination formulas — and it is genuinely the right tool for a short linear chain. The problem is that nobody teaches the layout, so most stack-up spreadsheets fail on conventions rather than arithmetic. Here is the layout that works, the formulas, a worked example, and the five failure modes that tell you the chain has outgrown the sheet.

The layout that works

One row per contributor, five columns:

ColumnContentsExample
A — ContributorName the feature and its drawing dimension, not just "part 3"Housing shoulder depth Ø dim 12
B — Sign+1 or −1: does this dimension open or close the gap?+1
C — NominalThe basic/nominal value, in one unit for the whole sheet50.00
D — ±tolThe half-tolerance, always positive0.10
E — SourceDrawing number and revision, or "assumed"HSG-104 rev C

Three conventions prevent most disasters:

The formulas

For contributors in rows 2–5:

Worked example: a housing and three rings

Three rings of width 16.00 ±0.05 sit inside a housing whose shoulder-to-shoulder depth is 50.00 ±0.10; the end gap is the key characteristic (the same chain is solved in detail in the stack-up guide):

ContributorSignNominal±tol
Housing depth+150.000.10
Ring 1 width−116.000.05
Ring 2 width−116.000.05
Ring 3 width−116.000.05

Nominal gap g = 50.00 − 48.00 = 2.00 mm. Worst-case tolerance 0.10 + 3×0.05 = ±0.25, so g = 2.00 ±0.25 — guaranteed between 1.75 and 2.25 mm if the drawing values hold. RSS tolerance √(0.10² + 3×0.05²) ≈ ±0.13 as a ±3σ-equivalent band. One sheet, two answers — and which one you may believe is the decision covered in worst-case vs statistical.

The five failure modes

  1. Sign errors. The single most common real-world failure. A −1 entered as +1 still produces a confident, wrong number — and nothing in the sheet flags it, because the arithmetic is internally consistent.
  2. No sensitivity. The sheet says ±0.25 but not which row to tighten. You end up perturbing cells by hand — doing sensitivity analysis without recording that you did.
  3. Chains that are not linear. Fastener float, flatness-driven tilt, contact order: the true chain is 3D, and a 1D sum is systematically optimistic about tilt-driven variation. The spreadsheet cannot warn you that you asked the wrong question.
  4. Version chaos. stackup_v7_final_REVISED.xlsx in three inboxes — which copy matches which drawing revision? The sheet and the model drift apart silently, and both look finished.
  5. No audit trail. Nothing records which input values were current, who changed cell D4, or which assumption made the RSS legal. A number you cannot defend in review is a number you do not have.

Where to stop

The handoff to real tooling should happen when any of these become true:

That is the handoff SuperNX was built for. It runs the same arithmetic your spreadsheet does — worst-case and RSS are not proprietary — but the inputs are measured off the NX model rather than re-typed, the signs and chains come from the mating geometry, per-contributor sensitivity is reported instead of hand-perturbed, and the output lands back on the model as PMI instead of in v8_final2.xlsx. Same math; the difference is provenance.

The short version

FAQ

What is the Excel formula for a worst-case stack-up?
Nominal gap: =SUMPRODUCT(sign_range, nominal_range). Worst-case tolerance: =SUM(halftol_range). The assembly limits are then nominal minus and nominal plus that sum — the tolerance adds arithmetically because worst-case assumes every contributor lands on its worst corner at once.
How do I calculate an RSS stack-up in Excel?
Use =SQRT(SUMSQ(halftol_range)) on the half-tolerance column. That gives the ±3σ-equivalent band, provided each entered ±t can be defended as roughly a 3σ spread of an independent distribution.
Should I enter full tolerances or ± values?
Enter half-tolerances only — the ±value. Convert limit dimensions and asymmetric tolerances to nominal ± first: 16.00/15.90 becomes 15.95 ±0.05. Mixing full-width tolerances into a column of half-tolerances silently doubles the answer.
When is Excel not enough for a stack-up?
Past five or six contributors, when the chain is not truly linear (float, tilt, contact order), when multiple loops share parts, or when the result must be audited or reach the drawing as PMI. The failure modes are process failures, not math failures.
Can Excel do sensitivity analysis on a stack-up?
Not natively per contributor — you end up zeroing or perturbing rows one at a time, which is slow and unrecorded. Needing sensitivity ranking is usually the signal that the problem has outgrown the spreadsheet.