摘要:大家好,我是古老师,今天分享第45个表格模型,物料齐套欠料模型第6章。昨天设计的进度中到了主计划欠料计算这个模块,并完成了欠料计算,齐套率的计算,接下来就是数据展示模块。
全文约800
大家好,我是古老师,今天分享第45个表格模型,物料齐套欠料模型第6章。昨天设计的进度中到了主计划欠料计算这个模块,并完成了欠料计算,齐套率的计算,接下来就是数据展示模块。
从子件的角度来看,这个模块相录于汇总,就是汇总所有子件的未领,并和库存进行比多,计算出欠料。这里为方便建模,采用的是全动态数组公式如下:
=SORT(LET(B,LET(A,GROUPBY(HSTACK(欠料计算!H2#,欠料计算!I2#,欠料计算!J2#,欠料计算!N2#),欠料计算!M2#,SUM,,0,,欠料计算!M2#0),HSTACK(A,INDEX(A,,4)-INDEX(A,,5))),FILTER(B,TAKE(B,,-1)
这样就可以快速的知道MPS计划排产完后,所有欠料子件汇总,并按欠料的多少进行升序的排序。方便物控员跟进订单;
上面的汇总供需的公式看起来很长,其实分开写的的话,就容易题解了,第一步就是聚合汇总欠料明细中的未领料,用到的知识点就是聚合函数:
=GROUPBY(HSTACK(欠料计算!H2#,欠料计算!I2#,欠料计算!J2#,欠料计算!N2#),欠料计算!M2#,SUM,,0,,欠料计算!M2#0)
公式解释:
当欠料计算中是动态数据单列的时候,用合并函数HSTACK进行合并,成为聚合函数的行参数,通过条件筛选不等于0的进行汇总,因为等于0的代表领料已经完成;没有未领量了;
欠料计算本来是非常简单的,可以直接用库存量减去未领量,但是因为后续需要数组排序,这里如果直接减去的话,会把数组分开,所以定义上面的结果为A后,录入以下动态数组公式:
=LET(A,GROUPBY(HSTACK(欠料计算!H2#,欠料计算!I2#,欠料计算!J2#,欠料计算!N2#),欠料计算!M2#,SUM,,0,,欠料计算!M2#0),HSTACK(A,INDEX(A,,4)-INDEX(A,,5)))
公式解释:
合并A和A的第4列与A的第5列的相减结果,再次组合成一个大区域,这里就出现了负数、正数、0三种状态;
为了只显示欠料,这里再次定义上面欠料运算的结果为B,通过筛选函数进行过滤,录入动态数组公式:
=LET(B,LET(A,GROUPBY(HSTACK(欠料计算!H2#,欠料计算!I2#,欠料计算!J2#,欠料计算!N2#),欠料计算!M2#,SUM,,0,,欠料计算!M2#0),HSTACK(A,INDEX(A,,4)-INDEX(A,,5))),FILTER(B,TAKE(B,,-1)
公式解释:
合并B与筛选B中最后 列小于0的数据,形成一个新的大数组;
到了这一步就是可以进行排序了,只需要外嵌套一个排序函数就可以了,通过这样的方法,就可以得到一个全动态的供需欠料明细
未完待续……
来源:古哥计划一点号