我在D列中有这种产品ID:
我想使用产品ID值中的最后2/3号在G列中设置值。
我尝试使用= MID([Product_ID],11,3)和= MID([Sample_ID],10,3)这样的公式,但是这些id都不有效,我必须输入1到1的公式,因为该ID的长度不同。
使用vba有什么办法吗?因为我有近2万行数据
我有一个想法,例如使用if(len([Product_ID])<13然后= MID([Product_ID],11,3)或if(len([Product_ID])<12然后= MID([Product_ID], 10,3),但不知道如何在vba中实现
答案 0 :(得分:1)
使用以下公式:
=MID(D1,FIND("-",D1,FIND("-",D1,FIND("-",D1)+1)+1)+1,LEN(D1))
只要您的产品ID中始终有三个破折号,就可以使用。它先寻找第一个破折号的位置,然后寻找第二个破折号,然后是第三个破折号,并提取第三个破折号之后的其余字符串。