首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

71 找出数据库中品名对应的唯一工艺与多设备

接上文,需要从一堆数据中找出品名对应的唯一工艺与多设备的关系。上文已经解决了品名与唯一工艺的问题,知道每个品名有多少工艺了,现在需要把对应工艺能够在哪些设备上串联起来。按照我们上文中的方式是二维的显示方式,如果需要加设备对应就会不好显示,如品名为AH-014的产品,固晶工艺有多少台设备可以生产?

如果需要把设备加上去,我们需要把上图的二维表转成一维表,再把工艺对应的设备加到边上的单元格,这样就方便显示查找了。因为上文中我们已经把源数据中几万行数据转成产品对应工艺的唯一二维表了,所以串联工艺对应设备一对多只需要对此二维表转换成一维表,再进行数据匹配引用;

二维转一维的思路大概这样,确定需要的最大行数,也不是二维工艺表中最大工艺数,按最大工艺数生成品名的重复行数,如最大工艺是10个,就生成10行,小于10行的也按10行生成,到时候再通过筛选函数再次过滤;

如果按每个料号重复10行,根据INDEX函数的ROW参数就可以理解,返回111111、222222、333333、……这样的行号,理解就是返回第1行10次,返回第2行10次,这样,所以需要知道一个函数生成这样的自动序列数。

此时记住一个通用公式就可以了:=INT((SEQUENCE(100)-1)/7+1),其中100代表需要生产多少行,如果生成200行就改为200,7代表循环次数,代表循环7次,根据此表的实际情况,完整公式如下:

=INDEX('01产品对应工艺'!A:A,INT((SEQUENCE(1000)-1)/11+1)+1)

此公式为动态函数,不需要下拉填充,直接显示如下图:

这一步完成后,再把工艺用INDEX函数引用过来,观察数据发现二维表中的列号,分别是1、2、3、4、5……的循环,只需要生产类似12345、12345的循环就可以了,也可以用通用公式=MOD((SEQUENCE(30))-1,7)+1,生成数字7的循环。在工艺这一列录入完整公式如下:

=INDEX('01产品对应工艺'!C1:M27,INT((SEQUENCE(1000)-1)/11+1)+1,MOD((SEQUENCE(1000))-1,11)+1),这样就把二维报表转换成一维报表了,接下来就是把设备号一对多的引用过去

设备的一对多引用非常简单,只需要记住口诀“一对多”用函数FILTER就可以了,如需要合并用TEXTJION函数。我们录入完整的公式:

=TRANSPOSE(FILTER(PLM工艺!$B$2:$B$1054,(PLM工艺!$A$2:$A$1054='02工艺对应设备'!A2)*(PLM工艺!$D$2:$D$1054='02工艺对应设备'!B2))),向下填充就完成了。

此就是最后一步了,把无效数据过滤掉,因为前面用最大工艺数来判断的,有些工艺没有最大工艺数11,例如只有9道,此时就会显示工艺为0,通过新建一个表,录入函数:

=FILTER('02工艺对应设备'!A:O,'02工艺对应设备'!B:B0)

这样就完成了找出数据库中品名对应的唯一工艺与多设备的任务,同时这个表也非常直观的可以看到零件对应的工艺顺序,每道工序对应的设备。

总结:这也是排程的思路之一,因为排程需要的是产品对应的工艺、工艺对应的机台,机台对应的产能,如下图:

源文件:71 找出数据库中编码对应的唯一工艺与多设备XLSX

我是古哥:

从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230210A05IUI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券