Office中国论坛/Access中国论坛

标题: 百思不得其解:LEFTB函数使用求助! [打印本页]

作者: smileyoufu    时间: 2009-10-31 14:12
标题: 百思不得其解:LEFTB函数使用求助!
鄙人写了个公式如下:
=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时却返回错误值)。
经过反复验证,没找到原因.不知道为什么,请赐教
作者: pureshadow    时间: 2009-10-31 21:59
崩溃啊,公式写成这样……
=DATE(MID(B2,3,1)+10*(--MID(B2,3,1)<3)+2000,MID(B2,4,1)*2-(--MID(B2,5,1)<4),VLOOKUP(--MID(B2,5,1),{1,5;2,15;3,25;4,5;5,15;6,25},2,))
PS,在你的公式里MID和MIDB的效果一样。
作者: smileyoufu    时间: 2009-11-1 09:59
非常感谢pureshadow 的帮忙,用您的方法已经解决该问题,看来我还得好好学习学习。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3