Office中国论坛/Access中国论坛

标题: 我遇到麻烦了,请求高手的帮助! [打印本页]

作者: swim12280    时间: 2009-5-27 22:47
标题: 我遇到麻烦了,请求高手的帮助!
本帖最后由 swim12280 于 2009-5-27 22:49 编辑

这是一个算式的表,其中有一道步骤,是根据左边表的个数来取右边那一长列数的值,在个数在30之前,都是一个数对应一个取值,但在30以后就是每10个数之间对应一个取值,在30之前的,我用INDEX轻松实现,可是到了30-40、40-50、50-60、60-70,我用IF函数来套,可是套到30-40之间取值就不根据条件的变化而变化了,就不在变化了,不论左表有多少数(大于30),他都是取30-40的那个值,就不动了,真是纳闷死了,现在请大家帮助我解决这个问题,不胜感激!

问题在我的附件里,大家可以看到,我左边表里C11是52。如果按照我的函数,R41应该显示对应B34的0.216啊!可R41就是只对应N32的0.266,百思不得其解!
作者: pureshadow    时间: 2009-5-29 15:53
错误在:40>=C11>30
改成:AND(c11<=40,c11>30)
从整个逻辑关系来看,不需要AND函数,
=IF(C11<=30,INDEX(S2:S31,C11),IF(C11<=40,S32,IF(C11<=50,S33,IF(C11<60,S34,IF(C11<=70,S35,IF(C11<=80,S36,"超出范围"))))))
就可以了。
不过,你这个函数完全可以简化一下:
=IF(C11<=30,INDEX(S2:S31,C11),LOOKUP(C11,ROW(3:8)*10-1,{0.266;0.237;0.216;0.199;0.186;"超出范围"}))
作者: luoyun    时间: 2009-11-12 18:40
要自立更生啊,亲爱的楼主大人。




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