在PMC(生产计划控制)的日常工作中,存在这样一个场景:当接到客户订单后,首先按照客户下单的顺序制作《订单明细表》;随后,根据仓库实际的产品入库数量,编制《产品入库明细表》。接着,我们将依据产品入库的数量,并结合订单下达的顺序,来核查现有库存是否足以满足订单需求。若数量满足,则可以进行出货安排。
在执行数量分配核查的过程中,需要遵循两个原则:
首先,遵循“先下单、先分配”的原则,即按照下单日期的先后顺序进行分配,越早下单的订单优先获得数量分配。
其次,在同一天内下达的包含相同产品的多个订单中,优先分配给订购数量较少的订单批次。
模拟数据如附图所示,其中表1名为《订单明细表》,记录了客户下达的不同订单,对于同一产品可能存在多个订单编号,这表示该产品需分批进行出货。而表2为《产品入库明细表》,详实地记载了不同日期下的各类产品入库数量。
现期望设计一款WPS报表模板,能够实现一键计算并确定哪些订单已具备完整发货条件(即齐套订单)。
根据上述需求阐述,我们可以明确识别出两个核心策略:一是遵循“先下单先分配”原则,二是同一天内的订单优先分配数量较小的产品批次。为了落实这两个原则,我们需要首先对表1《订单明细表》中的数据进行整理操作,具体而言,利用排序功能,将相同产品的订单按下单日期由早到晚进行升序排列,并同时考虑每个订单的产品数量大小进行进一步的排序处理。
完成排序之后,接下来是对库存进行相应的扣减操作。由于库存系统中,同一种产品可能有多次不同的入库记录,因此,在此步骤中,需要将相同产品的、具有不同入库日期的数量进行整合汇总,以计算出每种产品的累计总库存量。
最终,通过将计算得到的每种产品的总库存数量减去相应订单所需的产品数量,若结果为负值,则表明该订单的产品数量尚未齐套,无法满足发货要求。
总结来说,为了实现这个WPS报表模板的设计目标,我们将会运用到一系列函数,包括但不限于排序函数(用于订单日期和数量的排序)、求和或汇总函数(用于统计产品的入库总量)、以及逻辑判断函数(用于判断订单是否满足发货条件)。
排序数据由于需要按照特定顺序对产品进行扣减操作,此处需借助排序函数进行数据排序,设定三个排序条件,依次为:日期、产品名称和数量。排序的顺序至关重要,必须确保首先按照产品名称排序,其次按照日期升序排列,最后依据数量进行排序。这里可以采用多条件排序函数SORTBY来处理:
录入公式:
=SORTBY(B3:E11,D3:D11,1,B3:B11,1,E3:E11,1)
效果如下图所示:
实际上,尽管多条件排序通常更为直观且适用面广,但在某些情况下,也可使用单条件筛选函数逐一进行排序以减少对数据区域的重复引用次数。
录入公式:
=SORT(B3:E11,{3,1,4})
函数释义:
分别对第3列产品、第1列日期、第4列数量进行排序;效果如下图所示:
在完成对产品的排序之后,紧接着我们需要引入产品的库存信息,以便于进行订单需求量与入库数量之间的对比分析与判断。在录入前把上面排序的数组区域用选择列函数转成单列后再引用
录入函数:
日期=CHOOSECOLS(SORT(B3:E11,{3,1,4}),1)
订单=CHOOSECOLS(SORT(B3:E11,{3,1,4}),2)
产品=CHOOSECOLS(SORT(B3:E11,{3,1,4}),3)
数量=CHOOSECOLS(SORT(B3:E11,{3,1,4}),4)