设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2297|回复: 2
打印 上一主题 下一主题

百思不得其解:LEFTB函数使用求助!

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2009-10-31 14:12:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
鄙人写了个公式如下:
=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时却返回错误值)。
经过反复验证,没找到原因.不知道为什么,请赐教

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2009-10-31 21:59:37 | 只看该作者
崩溃啊,公式写成这样……
=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的效果一样。

点击这里给我发消息

3#
 楼主| 发表于 2009-11-1 09:59:12 | 只看该作者
非常感谢pureshadow 的帮忙,用您的方法已经解决该问题,看来我还得好好学习学习。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-11-29 17:08 , Processed in 0.085521 second(s), 28 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表