夜雨聆风学习资料网

ARTICLE · 1028515

024|齐套到底怎么算?拿Excel跑一遍就知道了

024|齐套到底怎么算?拿Excel跑一遍就知道了

前面几篇,我们一直在讲齐套。

为什么库存看着很多,车间却还是开不了工?

为什么自制件库存为 0 以后,不能直接判定缺料?

为什么不能只告诉生产“还缺 80 个”,而是要继续往下追,找到真正的瓶颈?

道理讲到这里,其实已经差不多了。

这一篇不再讲太多理论。

直接拿几张基础表、几行简单公式,在 Excel 里把最基本的齐套逻辑完整跑一遍。

先说明一下:为了把逻辑讲清楚,下面这个例子只考虑即时可用库存,暂时不考虑预留、检验、冻结、在途、WIP 等状态。

实际 PMC 使用时,再把这些供应状态逐步加进去。


一、先准备几张最简单的表

假设现在有一张生产工单:

工单
产品
数量
MO001
A
100

产品 A 的 BOM:

父项
子项
用量
类型
A
B
1
自制
A
C
2
外购
B
D
1
外购
B
E
1
外购

现在仓库里有:

物料
库存
类型
B
20
自制
C
180
外购
D
50
外购
E
20
外购

好了。

现在问题来了:

这张 A 的工单,到底能不能做?能做多少?


二、第一步:先把 BOM 展开

A 要生产 100 个。

按照 BOM:

  • B:100 × 1 = 100 个
  • C:100 × 2 = 200 个

所以第一层需求是:

物料
需求数量
B
100
C
200

公式非常简单:

组件需求 = 工单数量 × BOM 用量

到这里,Excel 甚至不用什么复杂公式。


三、第二步:拿库存直接扣

现在看仓库库存。

C

需求 200 个。

库存 180 个。

所以:

200 - 180 = 20

C 缺 20 个。

B

需求 100 个。

库存 20 个。

所以:

100 - 20 = 80

表面上看,B 缺 80 个。

于是很多系统可能直接给出:

A 工单缺 B 80 个。

但问题来了。

B 是自制件。

所以这里还不能停。


四、自制件库存只有 20,不代表只能供应 20

继续往下展开 B 的 BOM。

B 需要:

  • D:1 个
  • E:1 个

现在仓库里:

  • D 有 50 个
  • E 有 20 个

那么 B 最多能生产多少?

D 可以支持:

50 ÷ 1 = 50 个 B

E 可以支持:

20 ÷ 1 = 20 个 B

所以 B 的有效生产能力取最小值:

MIN(50, 20) = 20

也就是说:

现在最多还能生产 20 个 B。

注意这里有两个数字不要混在一起。

B 当前库存

20 个。

B 当前可以继续生产

20 个。

所以 B 总共可以支持:

20 + 20 = 40 个 B


五、现在再回到 A

A 需要 B 100 个。

B 目前可以提供:

20 个库存 + 20 个可生产 = 40 个

所以 B 这一条线,最多支持:

40 个 A

再看 C。

C 有 180 个库存。

A 每个需要 2 个 C。

所以 C 最多支持:

180 ÷ 2 = 90 个 A

于是:

物料
可支持 A 数量
B
40
C
90

最终 A 能生产多少?

取最小值:

MIN(40, 90) = 40

所以这张 100 个的 A 工单:

目前真正能够稳定生产的数量,是 40 个。

不是缺 80。

也不是缺 20。

而是:

当前最多能做 40 个。

继续往下追,真正的瓶颈是:

E → B → A

E 只有 20 个,直接限制了 B 的生产能力。


六、到这里,你会发现齐套其实没那么复杂

最核心的逻辑,真的就是几步:

工单需求
   ↓
BOM展开
   ↓
查库存
   ↓
外购件:到供应边界
   ↓
自制件:继续向下展开
   ↓
计算每一层有效供应
   ↓
找到最小值
   ↓
得到最终可生产数量

甚至核心公式都可以浓缩成一句:

最终可生产数量 = 各关键物料可支持数量的 MIN

例如:

A 需要 B、C、D。

B 可以支持 80 个 A。

C 可以支持 120 个 A。

D 可以支持 65 个 A。

那么:

A = MIN(80, 120, 65) = 65

这就是齐套最核心的地方。

库存看的是总量,齐套看的是结构。


七、但这只是最简单的齐套

有人看到这里可能会说:

“这不就是小学数学吗?”

没错。

公式不难。

真正难的是数据。

现实里的 PMC,可能同时面对:

  • 几百张生产工单
  • 几千甚至上万种物料
  • 多层 BOM
  • 外购件
  • 自制件
  • 在制工单
  • 在途采购订单
  • 已下单未交
  • 已收料未入库
  • 检验库存
  • 冻结库存
  • 已分配库存
  • 替代料
  • 共用料
  • 半成品
  • 多工厂、多组织

这时候,问题就不再是:

“会不会算?”

而是:

“每天能不能稳定、重复、准确地算?”


八、真正的 PMC 齐套,不应该只输出“缺多少”

如果只做:

需求 - 库存 = 缺料

那其实还不够。

真正有价值的结果应该是:

这张工单目前最多能做多少?

以及:

真正卡在哪里?

所以实际计算逻辑应该逐步变成:

工单需求
    ↓
BOM展开
    ↓
查找供应
    ↓
扣减有效库存
    ↓
外购 / 自制分流
    ↓
自制件继续向下展开
    ↓
计算有效供应
    ↓
找到瓶颈
    ↓
计算最终可产出数量

供应也不能简单理解成一个“库存数字”。

真正需要识别的是:

  • 有多少即时可用库存
  • 有多少已经确认的采购
  • 有多少在途
  • 有多少已经收料但还没有入库
  • 有多少 WIP
  • 有多少自制工单可以形成供应
  • 有多少库存已经被其他工单占用

只有把这些状态拆开,齐套结果才真正有意义。


九、为什么我反而建议先拿 Excel 算

因为在没有把业务逻辑想清楚之前,直接写程序,很容易把问题搞复杂。

先拿一张工单算。

再算 10 张。

再算 100 张。

当你开始发现每天都在重复做这些事情:

  1. 导出库存
  2. 导出工单
  3. 导出 BOM
  4. 匹配物料
  5. 展开 BOM
  6. 扣库存
  7. 找自制件
  8. 继续往下追
  9. 算可生产数量
  10. 找瓶颈
  11. 整理成 PMC 能看的结果

这个时候你自然会问一句:

“为什么不让程序替我干?”

这时候,Python 才真正有意义。

因为程序真正接手的,不应该是“帮我做几个 Excel 公式”。

而是把这套已经验证过的 PMC 业务逻辑,变成每天可以重复运行的一套流程。


十、齐套计算真正要解决的,不是“缺多少”

做到这里,我觉得齐套的思路其实已经发生了一点变化。

以前我们看到的是:

A 需要 100 个 B 缺 80 个 C 缺 20 个

现在我们真正想知道的是:

A 现在到底能做多少?

继续往下追:

B 能供应多少?

再往下:

B 为什么只能供应这么多?

再继续:

是 D 卡住了,还是 E 卡住了?

最后找到真正的瓶颈。

所以齐套分析真正有价值的结果,不应该只是:

“缺料表”

而应该是:

“可生产数量 + 瓶颈物料 + 瓶颈原因”

这才是 PMC 真正拿去排产、催料、调拨、协调生产的东西。


写在最后

齐套其实真的没那么玄乎。

先算需求。

再找供应。

外购到底。

自制穿透。

锁定瓶颈。

最后取最小数。

最开始,我们可能只是想知道:

“还差多少料?”

算到后面,真正应该问的是:

“现在究竟能稳稳当当地产出多少?”

而当工单从 1 张变成 100 张、1000 张的时候,又会出现另一个问题:

这套逻辑,难道每天都让 PMC 手工算吗?

当然不是。

下一步,就该让程序接手这些重复工作了。


👤 作者|AI制造实验室

我是 老马,一名拥有 13年PMC(生产与物料控制)经验的制造业从业者,也是 PMC AI Agent 开发者

这个公众号不讨论遥远的 AI 概念,只记录 AI 在制造业中的真实实践:PMC 自动化、供应链优化、AI Agent、知识库、Dashboard,以及我在一线工作中的思考与踩坑。

希望每一篇文章,都能让制造业同行少走一点弯路。


AI不会替代PMC。

但会使用AI的PMC,会拥有更多时间创造价值。

—— AI制造实验室

📌 欢迎关注《AI制造实验室》,一起探索 AI 在制造业中的真实价值。

相关学习资料

返回首页浏览学习资料