很多人做 SPC,默认就是 Xbar-R、I-MR。
图画得很漂亮,八大判异规则背得很熟——可现场偶尔会遇到这种尴尬:
过程其实已经慢慢偏了(比如 0.5σ 到 1.5σ 的慢性漂移),但图上点位依然安安静静地落在上下控制限内。等它真正爆点(突破 3σ)的时候,坏件可能已经生产了一大批,损失不小。
这时候,你可以想想 CUSUM(累积和)控制图。
它不盯单点跳不跳 3σ,而是把“相对目标的偏离”一点一点累积起来。小漂移、慢性偏移,往往比常规控制图更早露头。
网上公式一大堆,看着头晕。我干脆用 Excel 把单值、子组两套都手搓了一遍,做成可改数据、公式全透明的模板。文末有完整文件,直接下就能复算。
(也顺便说一声:我们做的 斌果 SPC,现在也已经支持 CUSUM 控制图了。Excel 适合把算法吃透;产线实时看图、自动判异、多项目看板,还是软件省事。)
常规的休哈特控制图只看当前点;而 CUSUM控制图带有“记忆”。
它的核心思想只有三步:
1.算偏差: 每个点先算相对目标(规格中心/目标均值
)的偏差:

2.双向累加: 分别累积“偏高”和“偏低”两条路径:
3.设限判异:

(1)k为松弛系数**,一般取 k = 0.5(代表能最敏感地捕捉 1σ 的偏移)。
(2)h 为控制限系数,一般取 h = 4 或 h = 5(模板里按常见默认:k = 0.5, h = 4)。
(3)敲重点:目标值(均值)必须填规格中心或工程目标值。没有目标值,CUSUM 就失去了“累积偏离”的锚点,是没法正经做的。
模板文件内分为两个 Sheet:
下面的excel实现的cusum算法,和minitab结果是一模一样的。

主要包含:序号、Xj(测量值)、ci(偏差)、C+i(上累积)、C-i(下累积)、极差(移动极差 MR),以及 UCL / LCL / CL。
| 参数名称 | 单元格位置 | Excel 公式 / 填入值 | 逻辑说明 | ||||
|---|---|---|---|---|---|---|---|
| 均值(目标) | L1 |
0(按实际规格中心填) |
累积偏差的基准锚点 | ||||
| h | L2 |
4 |
控制限倍数 | ||||
| k | L3 |
0.5 |
松弛系数 | ||||
| k*sigma | L4 |
=L3*L5 |
k*σ | ||||
| 标准差 σ | L5 |
=AVERAGE(F3:F26) / 1.128 |
平均移动极差![]() |
||||
| UCL | L7 |
=L2*L5 |
h*σ | ||||
| LCL | L8 |
=-L7 |
\$-h \times \sigma\$ |

如果每次抽样是一个子组(比如一组 5 个样品),不能直接把所有单值混在一起算。子组 CUSUM 的核心在于“以组均值
为主线,且标准差要进行子组调整”。

。
| 参数名称 | 单元格位置 | Excel 公式 / 填入值 | 逻辑说明 | ||||
|---|---|---|---|---|---|---|---|
| 均值(目标) | P1 |
0(规格中心) |
目标基准 | ||||
| h / k | P2 / P3 |
4/0.5 |
默认参数 | ||||
| 自由度 df | P10 |
=25*(5-1) |
组数* (n-1) = 100 | ||||
| 合并标准差 σ | P11 |
=SQRT(SUM(J2:J26)/P10)/(EXP(GAMMALN((P10+1)/2)-GAMMALN(P10/2))*SQRT(2/P10)) |
基于组内离差平方和(DEVSQ)汇总,并除以C4修正系数 |
||||
调整标准差 |
P5 |
=P11/SQRT(5) |
关键点:![]() |
||||
| k*sigma | P4 |
=P3*P5 |
![]() |
||||
| UCL / LCL | P7 / P8 |
=P2*P5/=-P7 |
![]() |

Excel实现合并标准差的算法是非常复杂的。如果想进一步了解合并标准差,请看《全网第一个讲清楚CPK如何计算的,Step by step,Excel和Python同时实现》,这里面的CPK分母的sigma就是用合并标准差,有很详细的公式说明和过程。
建议组合拳: 常规巡检用常规控制图监控大突变,对质量要求极高的关键特性/易漂移工序,并行叠加 CUSUM 进行早期预警。
如果觉得上面的太难无法复刻,Excel我们已经做好了,v下面两个v信获取:
simple-SPC 或者 simple_spc2
本页面文章与公众号同步。
微信扫码关注