某生产计划的问题:他在公司的PLM系统(product lifecycle management系统,即产品全生命周期管理系统的简称)中导出了公司所有的产品工艺路线,发现导出来的格式与他期望的不一样,导出的结果有很多重复项目,因为PLM系统中把每一个产品对应的工艺能够在几台设备上生产都维护好了,因为同样的工艺在不同的设备上的小时定额可能是不一样的。
如下图中:品名为AH-014 的产品第一道工艺是固晶,对应的设备号有SL1008到SL1014,一共7台设备。他希望的格式是把设备号放在一单元格,变成:“SL1008、SL1009、SL1010、SL1011、SL1012、SL1013、SL1014”,这样,问古老师有没有办法批量生成,因为PLM系统中的数据太多了,有好几万行;
解决问题前,先分析一下现有的数据资源,已知条件、变量条件分别是什么?
已知条件:
1. 工艺名称:固晶、焊线、封装、切中筋、落断、测试、包装等;
2. 设备号:具体的设备编号SL1024、SL1022等;
3. 对应关系:品名与不同的设备号对应不同的小时定额;
变量条件:
1. 工艺条件:每个产品对应的工艺条件不一样,有的需要8道,有的需要10几道;
2. 工艺工序:每个工序对应设备不一样,工序一对多;
难点问题:
1. 找到每个产品具体有多少道工序?(去重)
2. 每道工序对应多道设备?(1对多)
3. 设备合并到1个单元格里面(多个单元格合并)
分析完问题后,开始解决了,
步骤1
先把新建一个页面,命名为产品对应工序。A1录入公式=UNIQUE(PLM工艺!A:A),把品号唯一的对应出来,为了方便大家理解,把公式分开写,这样就能够理解了;
步骤2:
B2 =FILTER(PLM工艺!$D$2:$D$1054,PLM工艺!$A$2:$A$1054=A2,此步的目的是把品号对应的工艺名称提取出来,因为工艺名对应设备是一对多,这里会非常多重复项。对于重复项,我们前面加上去重的函数
步骤3
C2 =UNIQUE(FILTER(PLM工艺!$D$2:$D$1054,PLM工艺!$A$2:$A$1054=A2)),录入这个公式就得到我们想要的工艺名称唯一项了,前面在加一个COUNTA函数就可以知道每一个品号对应的工艺名称数了
步骤4:
C2 =COUNTA(UNIQUE(FILTER(PLM工艺!$D$2:$D$1054,PLM工艺!$A$2:$A$1054=A2))),下拉填充公式就可以看到每个品号对应的工艺名称数了;
如果要好看一点,也可以改成这样C2 =TRANSPOSE(UNIQUE(FILTER(PLM工艺!$D$2:$D$1054,PLM工艺!$A$2:$A$1054=A2))),向下填充公式,一个标准的二维报表了;
到了这一步基本就确定了方向了,剩下的就二维报表转成一维报表,如何把上面的报名快速的转换成一维报表呢?
未完待续……
源文件:70 找出数据库中的工艺路线.XLSX
我是古哥:
从事制造行业18年,在企业运营、供应链管理、智能制造系统等方面具有丰富的实战经验。企业智能化,柔性化计划运营管理专家,擅长通过企业流程优化规范,企业管理、导入计划运营提升企业效率;对提高企业准时交货率,降低企业库存,输出智能制造人才有丰富的经验。学习PMC生产计划,关注古哥计划!
领取专属 10元无门槛券
私享最新 技术干货