多维表格:自动进行排程分解子件需求
优秀创作者
昨天我们完成了系列文章中第18章的内容:在完成“子件编码升序+开工时间升序”的双条件排序后,首先新增“累计需求”统计字段,通过“子件编码=子件编码 且 编号≤编号”的条件,实现同一物料下毛需求的逐行累加,构建时序化需求链;随后创建“现存量”查找字段,以“子件编码”为匹配键,从“现存量汇总表”中精准引用各物料的当前可用库存;最后,基于前两步数据,新建“累计净需求”公式字段,计算逻辑为 =[@[现存量]] - [@累计需求],用于动态判断库存覆盖能力——结果大于等于0表示满足,小于0则标识欠料,并可精准定位首次缺料的订单节点。至此,系统实现了从“毛需求”到“净需求”的关键跃迁,为后续生成补货建议、触发缺料预警、支持齐套分析奠定了核心计算基础,真正迈向“感知瓶颈、驱动执行”的智能计划闭环。
欠料计算
在完成“累计净需求”计算后,我们已能识别整体物料是否短缺以及缺料发生的时点。然而,该值为累计滚动结果,无法直接对应到具体订单的缺料数量。例如,当某物料前几单已耗尽库存,后续订单虽仍需该物料,但其实际缺料量应仅等于自身需求,而非叠加历史缺口。
为实现按订单精准反馈缺料信息,需将“累计净需求”的负值分解还原为每张销售订单独立的欠料需求,以便后续生成采购计划、安排补货优先级或进行交付协商。插入一列公式字段,录入以下公式:
=IF([@累计净需求]>0,0,IF(ABS([@累计净需求])<[@毛需求],[@累计净需求],-[@毛需求]))
公式解释:
该公式采用嵌套判断,实现从“累计缺口”到“单订单缺量”的合理拆分:
第一层判断:[@累计净需求] > 0
若成立 → 库存充足,无欠料 → 返回 0
第二层判断:ABS([@累计净需求]) < [@毛需求]
表示当前累计缺口小于本单需求量 → 说明部分满足,部分短缺 → 返回 [@累计净需求](负值,即实际缺量)
否则:累计缺口大于等于本单需求 → 说明本单完全无法满足 → 返回 -[@毛需求](即本单全部欠料)
示例:
某物料A,现存量 = 189,两日需求分别为 5,000 和 8,000
第1单:累计净需求 = 189 - 5,000 = -4,811(< 毛需求)→ 欠料需求 = -4,811
第2单:累计净需求 = 189 - 13,000 = -12,811(> 毛需求)→ 欠料需求 = -8,000
最终结果:-4,811,-8,000,准确反映每单的实际缺料情况。
设计价值
精准定位缺料责任:明确每张订单的物料缺口,支持按客户、交期进行优先级管理
支撑采购分批补货:可按“哪天缺多少”生成分阶段采购建议,避免一次性过量下单
提升交付沟通效率:向销售或客户反馈时,可精确说明“哪一单、缺多少、何时可补”
欠料定义
在完成“欠料需求”字段的计算后,系统已能输出每张订单的具体缺料数量。为进一步提升数据的可读性与决策效率,需将数值型的“欠料判断”(即“欠料需求”)转化为直观的状态标签,便于快速识别哪些订单存在物料风险,录入公式:
=IF([@欠料判断]<0,"欠料","不欠")
公式解释:
若 [@欠料需求] < 0 → 表示该订单所需物料库存不足 → 返回 “欠料”
否则(即 ≥ 0)→ 表示物料充足或刚好满足 → 返回 “不欠”
示例:
欠料需求 = -4811 → 欠料状态 = “欠料”
欠料需求 = 0 → 欠料状态 = “不欠”
设计价值
提升可视化效率:无需查看具体数值,即可通过颜色或文字快速识别风险订单
支持筛选与告警:可基于“欠料”状态进行数据筛选、分组汇总,或触发自动化提醒(如邮件通知采购)
便于汇报与协同:非计划人员(如销售、管理层)也能轻松理解物料供应情况
未完待续……