544小微工厂的表格库存匹配助手:自动化订单处理指南-2

职场计划有古哥 2024-10-16 04:11:00

全文约2014字;

阅读时间:约6分钟;

听完时间:约12分钟;

在昨天完成《订单明细表》的设计之后,我们开始了第二张输入报表——《产品现存量报表》的设计工作。由于该报表的格式与《订单明细表》非常相似,我们可以直接复制第一张报表来快速获得所需的格式设置,这将有助于减少重复性的格式调整工作,比如条件格式、自动边框和字体设置等。

产品现存量

复制表1后,将新工作表命名为“2.库存”。接着,在A1至B1单元格中录入标题“产品”和“库存数量”,并在D1至E1单元格同样录入这些标题。然后,在D2单元格输入动态数组公式以实现自动扩展:

=TAKE(A2:B10000,COUNTA(A2:A10000))

公式解释:

TAKE(A2:B10000, COUNTA(A2:A10000)) 这个公式的作用是从A2到B10000的范围内提取数据。

COUNTA(A2:A10000) 用于计算A列从A2到A10000范围内非空单元格的数量。

TAKE 函数根据COUNTA的结果来决定从指定区域提取多少行的数据。这样可以确保只显示实际存在的数据行,而忽略空白行,从而实现表格内容的自动扩展。

由于新表格的格式继承自表1,因此边框和字体样式会根据单元格内是否为空值来自动调整。

排序数据

两张输入报表已经设计完成,接下来我们将设计输出报表。该报表将自动匹配库存,以判断订单是否能够满足发货需求。在进行库存匹配之前,我们需要设定一些约束条件。

这些约束条件包括:首先按照产品分类来处理订单,然后在同一类别的产品中,根据下单日期的先后顺序来分配库存;对于同一天内下达的多个订单,则优先处理数量较少的订单。

简而言之,这种设计原则意味着同类产品中较早下单的将优先发货。同时,对于同一天内的订单,会优先处理数量较小的订单。例如,如果产品A分别在3月1日和3月2日有订单,那么在扣减库存时,会先处理3月1日的订单。而在3月1日当天如果有多个订单,我们会优先处理那些数量较小的订单。这样的安排有助于尽可能多地满足客户的发货需求。如果总是先处理数量较大的订单,可能会导致后续的订单因库存不足而无法发货。

将上述逻辑转换为表格中的公式设计,我们需要对《产品订单明细表》进行排序。可以使用以下公式:

A2=SORT('1.订单'!F2#,{3,1,4})

公式解释:

这个公式的作用是对1.订单工作表中从F2#数据动态数组区域进行排序。

{3,1,4} 表示排序的依据列分别是第3列(产品)、第1列(日期)和第4列(订单数量)

排序方式没有录入,表示默认为升序排序。如果需要降序,则可以使用录入数字 -1来进行降序排序。

效果如下图所示:

分开数据

为了方便后续公式的引用,我们需要将上述排序公式的结果(多列多行区域)转换成单列多行的区域。可以使用以下动态数组公式,并向右填充到D2以完成快速转换:

A2=INDEX(SORT('1.订单'!$F$2#,{3,1,4}),,COLUMN(A1))

公式解释:

SORT('1.订单'!$F$2#,{3,1,4}):这个部分对1.订单工作表中的数据进行排序,排序依据是第3列(产品)、第1列(日期)和第4列(订单数量)。这里的$F$2#假设是一个结构化的表格引用。

INDEX(...,, COLUMN(A1)):INDEX函数用于从排序后的结果中提取特定单元格的值。COLUMN(A1)返回当前列号。这样,随着公式的向右填充,INDEX函数会依次提取排序后数据的每一列。

具体步骤如下:

在A2单元格输入上述公式。

向右填充该公式到D2,以便分别提取排序后的每一列数据。

同样地,我们需要将《产品现存量报表》(表2)的数据也使用类似的公式进行拆分。在目标单元格中录入以下公式,并向右填充:

=INDEX(TAKE($A$2:$B$10000,COUNTA($A$2:$A$10000)),,COLUMN(A1))

效果如下图所示:

扣减库存

对《订单明细表》中的数据进行排序并拆分后,接下来需要处理库存扣减的需求。如果直接使用产品名称作为索引字段来引用库存进行扣减,可能会遇到问题。因为同一产品在订单明细中可能有多行记录,每行的需求量不同,而每次引用的都是相同的库存数量,这会导致库存被多次扣减。

举例说明:

假设产品A在3月1日有三行需求,分别是30、40和50的数量。如果库存是100,直接扣减会得到70、60和50的结余库存,这样的结果显然是不正确的。正确的方法应该是从库存中减去累计需求量:

第一行需求30:100 - 30 = 70

第二行需求40:70 - 40 = 30

第三行需求50:30 - 50 = -20

这样显示最后一个需求50只能满足30,还有20无法满足。

所以直接匹配库存扣减肯定不行,需要先计算不同产品的累计需求,具体如何计算,明日继续分享。未完待续……

今日总结

今天,我们在昨天完成的《订单明细表》基础上,开始了《产品现存量报表》的设计。通过复制第一张报表的格式,我们快速创建了新工作表“2.库存”,并设置了相应的标题和动态数组公式,以确保数据的自动扩展和格式的一致性。

接下来,我们设计了输出报表,该报表将自动匹配库存来判断订单是否能够满足发货需求。为了实现这一目标,我们设定了具体的约束条件,包括按产品分类、下单日期优先以及同一天内数量较小的订单优先处理的原则。这些原则有助于最大化地满足客户订单,避免因库存不足导致的发货问题。

我们还利用Excel和WPS中的SORT和INDEX函数对数据进行了排序和拆分,以便于后续公式的引用和计算。

最后,我们讨论了直接使用产品名称作为索引字段进行库存扣减的问题,并举例说明了这种方法可能导致的错误结果。因此,我们需要进一步计算不同产品的累计需求量,以确保准确的库存扣减。明天我们将继续分享如何具体实现这一计算过程。

0 阅读:1

职场计划有古哥

简介:感谢大家的关注