在近期的实地考察中,我走访了一家小规模的加工厂。这家工厂虽小,却秩序井然,仅有的生产负责人负责从生产到出货的全部流程。实际上,这位负责人扮演着多重角色,从计划、品质、生管到司机等岗位的工作均由他一人包办。
他的工作中确实存在着不小的挑战。在一次交流中,他提到面临的主要问题是工单的分拆。由于工厂规模较小,尚未实现信息化管理,工单的排产和派发仍采用手工方式。当接到一些大订单时,他需要将这些订单分拆给不同的人员进行生产。
他向我表达了设计一个Excel报表的需求,这个报表需要具备输入分拆数量后自动分拆成多张任务单的功能。我大致理解了他的需求后,开始思考如何实现这一功能。
01 设计表头
我设计了一张表,用于计算分拆工单数和尾数。这张表的表头包括订单信息、分拆工单数量等列,其中部分列的信息需要人工填写。通过预设的公式,人们可以在录入相关信息后快速计算出需要分拆的工单数和余数。
02 判断余数与分拆工单数
对于余数的判断,我们采用了MOD公式。例如,3480除以1000的余数是480,这在表格中通过简单的公式计算即可得出。至于分拆工单数的判断,我们采取了向下取整的方法来判定。比如,如果订单数量为3000,我们将其向下取整到最近的1000的倍数,再除以分拆工单数量1000,得出需要分拆的张数。
我们还在表中设置了相应的公式来执行这些计算:
1. F5列使用MOD公式计算余数。
2. G5列使用FLOOR函数计算向下取整后的数量。
3. I5列则结合了除法和判断逻辑来计算最终的工单分拆数量和尾数订单。
03 新表自动创建对应多行工单
在计算出分拆工单数和余数之后,下一步是将这些数据自动分拆到新表中。这是一个关键步骤,因为它使数据的整理和安排变得更加简便高效。
我们需要考虑不同订单量、不同分拆工单量等因素对结果的影响,以实现动态判断和全自动操作。
具体的函数思路如下:
1. 通过COUNTA函数判断订单数量并确定工单数。
2. 通过MAX函数确定最大分拆工单数。
3. 利用SEQUENCE函数生成最大分拆行数。
4. 通过一系列复杂的计算和判断逻辑生成分拆多行工单的序号和工单号。
5. 使用INDEX函数将对应的工单信息引用到新表中。
6. 通过筛选函数FILTER对数据进行最终判定和整理。
通过以上步骤,我们成功创建了一个自动分解工单的报表。经过测试,该报表可以应对不同订单数量和分拆工单量的挑战,有效解决了该工厂面临的问题。
关于我: