在在昨天的文章中,我们通过合并多级净需求数据并进行精准筛选,成功生成了“最终欠料清单”。随后,通过二维透视分析,将一维明细转化为按子件和日期分布的矩阵视图,显著提升了数据的可读性与分析效率。

今天,我们将进一步优化这份欠料清单,重点聚焦于替代料的灵活性展示。当前的最终结果反映的是经过逐级替代后仍无法满足需求的“末级替代料”(例如 A03-3)。然而在实际采购与生产准备过程中,采购人员往往需要更多选择空间:

告别手工算料:动态数组打造智能BOM替代分析-16

某些末级替代料可能存在采购周期长、价格高或供应不稳定等问题,而前几级的替代料(如 A03-1、A03-2)或主料(A03)可能更具可行性。因此,仅展示“最终替代料”是不够的。为了提升采购的应变能力与决策灵活性,我们需要回溯整条替代链,将同一物料族中所有可替代的选项一并列出。

例如:若最终欠料为“替代料 A03-3”,我们应同时标注:

主料:A03

替代料1:A03-1

替代料2:A03-2

替代料3:A03-3(当前缺料项)

告别手工算料:动态数组打造智能BOM替代分析-16

通过这种方式,采购可根据交期、成本、供应商情况等因素,自主选择最优替代方案,而不被锁定在单一物料上。

接下来,我们将通过关联BOM结构与替代路径信息,提取每个欠料项的完整可替代料明细,并将其整合到最终报告中,真正实现“数据驱动、灵活决策”的闭环管理。

对应关系

为了实现采购灵活性的优化目标,我们需要让系统不仅显示“最终缺料的替代料”,还能回溯并展示该物料所属的完整替代链。例如:当最终缺料为“替代料 A03-3”时,采购应能快速获知 A03(主料)、A03-1、A03-2 等前序替代选项也均可使用。为此,我们首先需要建立一个辅助映射表,将每个“父件 + 子件顺序”所对应的所有可替代物料汇总成一组,便于后续引用,录入公式

=GROUPBY(BOM输出!A2#&BOM输出!B2#,BOM输出!C2#,ARRAYTOTEXT,,0)

告别手工算料:动态数组打造智能BOM替代分析-16

公式解释:

BOM输出!A2#&BOM输出!B2#:将“父件”与“子件顺序”合并为复合键,确保每个替代组唯一(如 A001-1 表示产品A001的第一个子件)

BOM输出!C2#:子件编码列,包含主料及各级替代料

GROUPBY:按复合键分组,聚合同一组内的所有子件

ARRAYTOTEXT:将每组中的多个子件编码合并为一个逗号分隔的文本字符串

应用价值

✅ 构建替代组索引:将分散在BOM中的多级替代关系整合为“一个位置对应多个可用物料”的清晰结构;

✅ 支持灵活查询:后续可在“二维欠料”表中通过 XLOOKUP 快速查到任意缺料项的所有可替代选项;

✅ 赋能采购决策:采购人员可基于交期、成本、库存等因素,在完整替代清单中自主选择最优方案;

✅ 提升系统智能性:从“只给结果”升级为“提供选择”,增强MRP系统的实用性与适应性。

查找引用

在构建了“可替代料汇总表”之后,接下来我们需要将这一关键信息反向关联到原始的欠料明细表中,以便为每一个缺料记录提供完整的替代选项列表。回到“一维欠料明细”工作表,我们可以通过“父件 + 子件顺序”这一复合键,精准匹配之前生成的替代料组,实现信息联动。录入动态数组公式:

=VLOOKUP(INDEX(A2#,,2)&INDEX(A2#,,5),GROUPBY(BOM输出!A2#&BOM输出!B2#,BOM输出!C2#,ARRAYTOTEXT,,0),2,0)

告别手工算料:动态数组打造智能BOM替代分析-16

公式解释:

INDEX(A2#,,2) 提取当前欠料表中的“产品编码”(对应 BOM 中的“父件”)

INDEX(A2#,,5) 提取“子件顺序”字段(即 BOM 中的“子件顺序”编号)

INDEX(A2#,,2) & INDEX(A2#,,5) 构造查找键,如 PROD001-1,与替代组表的分组键保持一致

GROUPBY(…) 动态生成分组映射表:

2 返回 GROUPBY 结果中的第2列,即“可替代料列表”

0 精确匹配,确保查找准确无误

应用价值

✅ 打通数据链路:将BOM层级的替代关系与MRP运算结果无缝连接;

✅ 提升采购灵活性:即使最终缺料为末级替代料(如 A03-3),采购仍可查看并选择主料或其他前级替代料;

✅ 支持多方案比选:结合供应商交期、价格、库存等信息,自主决策最优采购对象;

✅ 增强系统实用性:从“刚性输出”升级为“柔性建议”,更贴近实际业务场景。

告别手工算料:动态数组打造智能BOM替代分析-16

相关新闻

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

立即咨询 企业版试用 上门服务

请您留言

感谢您的关注,你可留下联系方式,我们将第一时间与您联系。