全文约1400字

大家好,我是古老师,专注于PMC(生产计划与控制)领域的教学。今天我们要分享的是第32个PMC表格模型——库存补货模型。
关于库存补货的方法论非常多,由于不同工厂和业务模式涉及的约束条件差异很大,因此很难设定一个通用的标准模型。根据自身业务特点制定适合自家工厂的库存补货策略是非常明智的选择。
构建此模型的核心在于算法的确立。举例说明:以下是某工厂PMC团队讨论出的补货约束:
1. 如果安全库存设为0,则无论当前库存是多少,都必须进行补货。
2. 否则,如果当前库存低于安全库存且小于最小起订量时,也需要进行补货。
3. 在其他情况下,则不进行补货。

针对这类复杂的约束判断,使用表格中的布尔逻辑相关函数(如IF、AND、OR)相对来说更容易实现。前期可以通过添加辅助列来简化公式的编写难度。首先处理第一个约束条件:“1. 如果安全库存设为0,则无论当前库存是多少,都必须进行补货”。对应的公式录入如下:
=IF(B2=0,"补货")

函数解释:
IF 函数用于执行逻辑判断。
B2=0 是条件判断部分,检查单元格B2(假设这里存放的是安全库存值)是否等于0。
"补货" 是当条件为真(即安全库存为0)时返回的文本。
约束条件2接下来我们将第二个条件“否则,如果当前库存低于安全库存且小于最小起订量时,也需要进行补货”添加到函数中。这里使用嵌套的方式实现:
先编写第一个逻辑: =AND(C2<B2,C2<D2)

函数解释:
AND 函数用于检查多个条件是否同时为真。
C2<B2 检查当前库存(在C2单元格)是否低于安全库存(在B2单元格)。
C2<D2 检查当前库存是否小于最小起订量(在D2单元格)。
再写第2个逻辑: =IF(B2=0,"补货",IF(AND(C2<B2,C2<D2),"补货"))

函数解释:
IF 函数用于执行逻辑判断。
B2=0 检查安全库存是否为0。如果是,则返回 "补货"。
如果第一个条件不满足(即安全库存不为0),则进入第二个 IF 语句:
AND(C2<B2, C2<D2) 检查当前库存是否同时低于安全库存和最小起订量。如果是,则返回 "补货"。
线束条件3最后一个约束条件是“在其他情况下,则不进行补货”。这个条件相对简单,只需要将其作为最后一个判断条件加入公式中即可:
=IF(B2=0,"补货",IF(AND(C2<B2,C2<D2),"补货","不补货"))
这样的话这个公式就反应了完整的逻辑: 如果安全库存为0,则无论当前库存如何,都必须补货。
否则,如果当前库存低于安全库存且小于最小起订量,则需要补货。
在其他情况下,则不进行补货。

最后就是常规公式转成动态可扩展的公式,这里只需要用到裁剪函数把预留录入范围的单元格区间进行转化即可: =LET(安全库存,TRIMRANGE(B2:B100),当前库存,TRIMRANGE(C2:C100),最小起订量,TRIMRANGE(D2:D100),IF(安全库存=0,"补货",IF((当前库存<安全库存)*(当前库存<最小起订量),"补货","不补货")))

函数解释:
LET 函数允许你定义变量名并在公式中重复使用这些变量,从而提高公式的可读性和维护性。
安全库存: 使用 TRIMRANGE(B2:B100) 来动态调整安全库存的范围。
当前库存: 使用 TRIMRANGE(C2:C100) 来动态调整当前库存的范围。
最小起订量: 使用 TRIMRANGE(D2:D100) 来动态调整最小起订量的范围。
IF 函数用于执行逻辑判断:
首先检查 安全库存 是否为0。如果是,则返回 "补货"。
如果第一个条件不满足(即安全库存不为0),则进入第二个 IF 语句:
检查 (当前库存 < 安全库存) * (当前库存 < 最小起订量)。这里使用乘法代替 AND 函数来简化表达式。如果两个条件都满足,则返回 "补货"。
如果上述两个条件都不满足,则返回 "不补货",表示在这种情况下不需要补货。
这种方法不仅使得公式可以动态适应不同的数据范围,还提高了公式的可读性和维护性。通过使用 LET 和 TRIMRANGE 函数,你可以轻松处理大量数据,并确保逻辑的完整性和准确性。
其他方法其他方法的思路大同小异,供大家参考学习:
