Excel 基于单元格长度使用设置单元格值
我在D列中有这种产品id: 1942-PS-M-01 1942-PS-M-233 1942-P-M-25 1942-P-L-200 我想使用产品id值中的最后2/3数字设置G列中的值 我尝试使用公式,如=MID[Product_ID],11,3和=MID[Sample_ID],10,3,但这些ID都无效,我必须按1输入公式1,因为ID没有相同的长度 使用vba有没有办法做到这一点?因为我有将近20000行数据Excel 基于单元格长度使用设置单元格值,excel,vba,excel-formula,Excel,Vba,Excel Formula,我在D列中有这种产品id: 1942-PS-M-01 1942-PS-M-233 1942-P-M-25 1942-P-L-200 我想使用产品id值中的最后2/3数字设置G列中的值 我尝试使用公式,如=MID[Product_ID],11,3和=MID[Sample_ID],10,3,但这些ID都无效,我必须按1输入公式1,因为ID没有相同的长度 使用vba有没有办法做到这一点?因为我有将近20000行数据 我有一个想法,比如使用if len[Product_ID]使用以下公式: =MID(D
我有一个想法,比如使用if len[Product_ID]使用以下公式:
=MID(D1,FIND("-",D1,FIND("-",D1,FIND("-",D1)+1)+1)+1,LEN(D1))
只要您的产品id中始终有三个破折号,这将起作用。它会查找第一个破折号的位置,然后查找第二个破折号,然后查找第三个破折号,并在第三个破折号后提取字符串的其余部分。研究RegExp或转到此处->Try formula=TrimRightSubstitutionMD2,-,REPT,99,99。