Stop Using Add-Ins — How to Get Box Plot in Excel (No Plugins)

Most Excel trainers tell you that Excel can’t make a proper box plot. They’re wrong. It can. And it’s been able to since Excel 2016 — not with some hidden chart type, but by repurposing stacked column charts and error bars. If you’ve ever installed an add-in just to draw whiskers, you’ve been overcomplicating it.

The Setup

We’ll use sales commission data from Q1 across eight regional reps at a midsize SaaS company. This isn’t dummy data — it’s the kind of messy, slightly skewed set you actually see in finance reports: outliers, uneven spread, and no built-in quartile labels.

Rep Name Commission ($) Region
Sarah Chen $18,450 West
Miguel Torres $22,100 South
Aisha Patel $14,720 East
Derek Lin $31,900 West
Tasha Boone $9,250 North
Rajiv Mehta $27,300 East
Lena Kim $12,800 South
Jamal Wright $42,600 North

This sits in A1:C9. We’ll calculate five-number summary values (min, Q1, median, Q3, max) in cells E1:I1 — but first, we need to compute them correctly. And here’s where most people slip up.

The Challenge

Excel doesn’t have a ‘Box & Whisker’ chart option unless you’re on Microsoft 365 or Excel 2016+ and your data is in a single column with no grouping. Even then, the default version hides outliers and uses inclusive quartiles — which most statisticians reject for small samples like ours (n=8).

You could use the built-in chart, yes — but try editing the whisker length manually. Or change how outliers are defined. Or overlay a second dataset. You’ll hit walls fast.

The real challenge isn’t plotting — it’s control. You need full ownership of Q1/Q3 calculation method, outlier thresholds, and visual layering. That only happens when you build it from scratch.

Walking Through It

We’ll construct a box plot using a stacked column + error bar combo. Start by computing the five-number summary in row 1, right next to your raw data.

Step Action Result Shortcut
1 In E1, enter =MIN(B2:B9) $9,250
2 In F1, enter =QUARTILE.EXC(B2:B9,1) $13,760 Alt+M, U, 1
3 In G1, enter =MEDIAN(B2:B9) $24,700
4 In H1, enter =QUARTILE.EXC(B2:B9,3) $29,600 Alt+M, U, 3
5 In I1, enter =MAX(B2:B9) $42,600

Surprising tip: Use QUARTILE.EXC, not QUARTILE.INC. The exclusive version matches R and Python’s default — and avoids inflating IQR when n < 10. (Trust me, I learned this the hard way during an audit review.)

Now build the stacked column base. In E2:I2, enter these values:
E2 = F1−E1 (Q1−Min) → $4,510
F2 = G1−F1 (Median−Q1) → $10,940
G2 = H1−G1 (Q3−Median) → $4,900
H2 = I1−H1 (Max−Q3) → $13,000
I2 = 0 (placeholder)

Select E2:H2, insert → Insert Column or Bar Chart → Stacked Column. Right-click the bottom segment (E2), Format Data Series → Fill → No fill. Do the same for the top segment (H2). Now only the middle two segments remain — that’s your box.

Add error bars: click the top segment (F2), go to Chart Design → Add Chart Element → Error Bars → More Error Bar Options. Set Vertical Error Bar → Custom → Specify Value. For Positive Error Value, select G1 (median). For Negative, select F1 (Q1). Repeat for bottom segment using H1 and G1.

The Result

Here’s what your final computed structure looks like — ready to paste into a clean report tab:

Metric Value Formula Used
Minimum $9,250 =MIN(B2:B9)
Q1 (25th %ile) $13,760 =QUARTILE.EXC(B2:B9,1)
Median $24,700 =MEDIAN(B2:B9)
Q3 (75th %ile) $29,600 =QUARTILE.EXC(B2:B9,3)
Maximum $42,600 =MAX(B2:B9)
IQR $15,840 =H1−F1
Lower Outlier Bound −$9,000 =F1−1.5*(H1−F1)
Upper Outlier Bound $53,360 =H1+1.5*(H1−F1)

No outliers flagged in this set — but if Jamal’s $42,600 had been $68,000, it would appear as a distinct dot above the whisker. You control that threshold. Always.

What Could Go Wrong

Three things break this every time — and they’re all invisible until you print or present:

  • Mixing QUARTILE.INC and QUARTILE.EXC: Your box width changes subtly. In our sample, INC gives Q1 = $13,525 — a $235 difference. That shifts the entire box left. Not obvious on screen. Deadly in compliance docs.
  • Forgetting to hide the outer segments: If you skip formatting E2 and H2 as 'No fill', you get a thick gray bar at top/bottom — looks like a mistake, not a design choice.
  • Using absolute references in error bars: When you copy the chart to another sheet and the data moves, Excel often locks error bar ranges to original sheet names like Sheet1!$G$1. Breaks silently. Fix: always double-check the custom error value range after pasting.

Next step? Copy the formulas in E1:I1 into a new tab called ‘Stats’. Then name each cell: MinVal, Q1Val, MedVal, etc. That way, your chart stays linked even if you re-sort or move columns. Try it now — before your next team sync.

Michael Lee

Michael Lee

Michael covers the latest in office software updates