3. 配方组分含量百分比归一化校验
任务对象与判定口径
本节处理一张“配方组分含量表”,每行是一条配方记录,B 列起为各组分质量百分比。任务有三步:逐行求和、标记不等于 100% 的记录、给出归一化修正系数。判定口径先固定下来,避免后续公式与结论互相矛盾:
- 求和范围只包含数值型组分列,备注列、配方编号列不参与求和。
- “等于 100%”按容差判定,工程上常用 ±0.1%(即 99.9%~100.1% 视为合格),因为手工录入与四舍五入会带来微小偏差。
- 归一化修正系数定义为 100 ÷ 该行合计,乘以各组分原值后合计恰好为 100,用于配方调整参考,不直接改动原始数据。
在 Excel 中落地:公式与标记
假设数据从 A1 开始,A 列为配方编号,B:E 为四个组分,F 列放合计,G 列放判定,H 列放修正系数。在 F2 输入:
=SUM(B2:E2)
G2 用容差判定并输出可读标记:
=IF(ABS(F2-100)<=0.1,"合格","超差")
H2 计算归一化修正系数,并对合计为 0 的行做保护,避免除零错误:
=IF(F2=0,"",100/F2)
把 F2:H2 向下填充到数据末行。若希望超差行整行高亮,选中 A2:H 末行,用“条件格式 → 新建规则 → 使用公式”,公式填 =$G2="超差",设置浅红填充即可。这样标记随数据变化自动更新,不需要手工涂色。
示例数据与结果核对
| 配方编号 | A | B | C | D | 合计 | 判定 | 修正系数 k |
|---|---|---|---|---|---|---|---|
| P-01 | 40 | 30 | 20 | 10 | 100.0 | 合格 | 1.0000 |
| P-02 | 45 | 28 | 18 | 12 | 103.0 | 超差 | 0.9709 |
| P-03 | 50 | 25 | 15 | 8 | 98.0 | 超差 | 1.0204 |
| P-04 | 38 | 32 | 22 | 8 | 100.0 | 合格 | 1.0000 |
核对要点:P-02 合计 103,k = 100/103 ≈ 0.9709,各组分乘以 k 后为 43.69、27.18、17.48、11.65,合计 100.00;P-03 合计 98,k = 100/98 ≈ 1.0204,各组分变为 51.02、25.51、15.31、8.16,合计 100.00。表中数值为按给定输入直接计算的结果,保留两位小数时末位可能有 ±0.01 的舍入差,属正常现象。
修正系数只用于“参考调整”,不要直接覆盖原始录入值。建议把归一化结果放在独立区域或新工作表,保留原始数据以便追溯偏差来源。
常见坑:①求和区域误把“备注”列中的数字文本算进去,导致合计虚高;②用
=F2=100 做精确相等判断,会把 99.95 这类四舍五入值误判为超差;③合计为 0 的空行未加保护,修正系数出现 #DIV/0!。逐项检查这三点,校验结果才可信。快速复查清单
- 求和区域是否只覆盖组分列,且不含文本、空单元格被 SUM 自动忽略。
- 容差阈值是否与团队约定一致(本例 ±0.1%),并在判定公式中统一引用。
- 超差行是否已被条件格式标记,标记公式使用相对行、绝对列的混合引用。
- 修正系数是否做了除零保护,归一化后各行合计是否回到 100±0.01。