鄙人写了个公式如下:
=IF(VALUE(RIGHT(LEFTB(B2,3)))>3,"200"&RIGHT(LEFTB(B2,3)),("201"&RIGHT(LEFTB(B2,3))))&"-"&IF(VALUE(RIGHT(LEFTB(B2,5)))<4,VALUE(RIGHT(LEFTB(B2,4)))*2-1,VALUE(RIGHT(LEFTB(B2,4)))*2)&"-"&IF(VALUE(RIGHT(LEFTB(B2,5)))=1,5,IF(VALUE(RIGHT(LEFTB(B2,5)))=4,5,IF(VALUE(RIGHT(LEFTB(B2,5)))=2,15,(IF(VALUE(RIGHT(LEFTB(B2,5)))=5,15,IF(VALUE(RIGHT(LEFTB(B2,5)))=3,25,IF(D2=6,25,"机号第5位错误")))))))
问题点:
1.如果用VALUE(RIGHT(LEFTB(B2,5)))用来替换掉D2的时候,提示函数输入错误,但是插入在前面IF里面的时候又不发生错误.
2.如果RIGHT(LEFTB(B2,5))来替换掉D2的时候,当前面制造编号堤5位为6的时候公式判断就会出现错误(正确情况下,制造编号第5位为6时,对应的日期应该返回25号,但第5位为6时却返回错误值)。
经过反复验证,没找到原因.不知道为什么,请赐教 |