首页 抖音推荐文章正文

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

抖音推荐 2025年08月23日 00:06 1 admin
告别手工算料:动态数组打造智能BOM替代分析-15

在昨天的文章中,我们通过合并多级净需求数据并进行筛选,初步得到了“最终欠料清单”。然而,经热心网友细心指正,发现原逻辑存在一个关键性错误:部分已存在替代料但仍有缺料的记录被错误地纳入了最终结果,而真正应被识别为“最终欠料”的,是那些既缺料又无任何替代方案的情况。

如下图所示,某子件虽显示缺料,但其“替代料4”字段非空,说明系统仍可向下推进使用更高级替代料补缺。因此,该记录不应被列为“最终缺料”。

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

修改BUG

造成上面的逻辑错误的原因是(TAKE(A,,-1)<>""):表示“最后一列有替代料” → 误判为需要关注

实际含义应是:只要有替代料,就不应作为终点,而应继续下一级计算,因此,正确的判断条件是:最后一列“无替代料”且“存在缺料”。所以更改后的最终公式为:
=LET(A,VSTACK(TRIMRANGE(第1级净需求!A2:M30000),TRIMRANGE(第2级净需求!A2:M30000),TRIMRANGE(第3级净需求!A2:M30000),TRIMRANGE('第4级净需求 '!A2:M30000)),FILTER(A,(TAKE(A,,-1)="")*(INDEX(A,,12)<>0)))

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

最终的逻辑为:AND:无替代 + 有缺料 → 正确输出,仅保留那些已穷尽所有替代路径、且仍存在缺料的记录,才是真正意义上的“最终不可替代欠料”。感谢热心粉丝的细致反馈,让我们及时发现了这一关键逻辑偏差。通过将筛选条件从“有替代料”修正为“无替代料”,我们真正实现了精准识别最终缺料的目标

二维分析

在成功计算出最终欠料明细后,我们面临一个新的挑战:如果同一子件在不同日期都有需求,那么在一维列表中会以多行形式重复出现。这种结构虽然数据完整,但不利于快速识别“哪个物料在哪天缺多少”的整体情况,也不便于可视化展示与管理决策。

为此,我们需要将一维明细数据升维为二维矩阵,以实现更直观、高效的分析。录入动态数组公式:

=LET(A,合并数据!A2#,PIVOTBY(INDEX(A,,6),INDEX(A,,4),INDEX(A,,12),SUM,0,,,0))

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

公式说明

A:引用“合并数据”表中从 A2 开始的动态数组范围(包含所有字段)

INDEX(A,,6) 提取第6列 → 子件编码(作为行标签)

INDEX(A,,4) 提取第4列 → 需求日期(作为列标签)

INDEX(A,,12) 提取第12列 → 净需求/欠料数量(负数表示缺料)

SUM 对相同“子件+日期”组合的欠料数量进行汇总

应用价值

消除重复项:将同一子件跨日期的多条记录合并为一行,提升信息密度;

增强可读性:一眼看清“哪个料、哪天缺、缺多少”;

支持趋势分析:便于观察缺料是否集中在某一时段,辅助排产与采购节奏;

便于可视化对接:该二维表可直接用于生成热力图、甘特式缺料图、数据透视看板等;

提升汇报效率:管理者无需翻查明细,即可掌握整体物料齐套状况。

发表评论

泰日号Copyright Your WebSite.Some Rights Reserved. 网站地图 备案号:川ICP备66666666号 Z-BlogPHP强力驱动