在G:H列将字符对应规则整理出来,然后在D14单元格输入以下公式,并向下填充公式
=IF(C14="","",VLOOKUP(MID(C14,4,2),G:H,2,0)&"-1/10W-"&IF(MID(C14,8,1)="R",SUBSTITUTE(MID(C14,7,3),"R","."),MID(C14,7,2)/10*LOOKUP(--MID(C14,9,1),{0,1,2,3,4,5;10,100,1,10,100,1})&LOOKUP(--MID(C14,9,1),{0,2,5;"","K","M"}))&"Ω"&VLOOKUP(MID(C14,10,1),G:H,2,0))
对于这样的长串公式,可以把其分解成几个部分,以方便理解:
1、IF(C14="","",后面公式)
公式表示:如果C14为空,就返回空,否则返回后面表达式的结果(这样便于实现公式可以向有空行的位置填充而不会产生错误提示);
2、VLOOKUP(MID(C14,4,2),G:H,2,0)
公式表示:将C14单元格中第4字符起的2个字符“03”“05”或“06”与G列进行匹配,并返回对应H列的数据;
3、IF(MID(C14,8,1)="R",SUBSTITUTE(MID(C14,7,3),"R","."),MID(C14,7,2)/10*LOOKUP(--MID(C14,9,1),{0,1,2,3,4,5;10,100,1,10,100,1})&LOOKUP(--MID(C14,9,1),{0,2,5;"","K","M"}))
公式表示:如果C14单元格的第8个字符为R,就将第7位起的3个字符中的R替换为小数点;如果第8个字符不为R,就将第7位起的2位字符除以10,然后根据第9位的字符,返回H列对应的倍数,后面再根据第9位的字符,返回可能需要的数量单位空、或“K”或“M”;
4、VLOOKUP(MID(C14,10,1),G:H,2,0))
公式表示:根据C14单元格第10个字符,在G列精确匹配,并返回对应H列的数据。
详见附图效果
Excel中如果两个单元格之间设置了公式引用,那么单元格的内容就会随着被引用的单元格随时改变,加入B1=A1+1,那么无论A1变成什么数字 B1都会马上变成A1+1.想要你的D列随C列变化,只需要将D列设置成根据C列自动变化的公式即可
貌似你的D列数据十岁C列数据的7-9位变化的,若是的话
则有,=if(c2="","","0603-1/10W-"&mid(c2,7,1)&if(mid(c2,8,1)="R","."&mid(c2,9,1)&"Ω±5%",mid(c2,8,1)&if(mid(c2,9,1)="0","","0")&"Ω±5%")
没明白两列数据之间的关系。