Office中国论坛/Access中国论坛

标题: [求助]十万火急,过会就用,有关excel的判断条件问题 [打印本页]

作者: 如果我是真的    时间: 2005-1-6 02:42
标题: [求助]十万火急,过会就用,有关excel的判断条件问题
有一个表,a1单元格是用来输入数据的,a2单元格根据a1的数值,进行判断显示相关内容。条件如下

100<=a1<150  ,暂a2显示为0.8

150<=a1<200  ,暂a2显示为1.2

200<=a1<300  ,暂a2显示为1.6

300<=a1<500  ,暂a2显示为2

500<=a1<700  ,暂a2显示为2.5

诸如此类,还有很多,我写的公式如下

=IF((a1>=100)*AND(a1<150),0.8,IF((a1>=150)*AND(a1<200),1.2,IF((a1>=200)*AND(a1<300),1.6,IF((a1>=300)*AND(a1<500),2,IF((a1>=500)*AND(a1<700),2.5,IF((a1>=700)*AND(a1<1000),3,IF((a1>=1000)*AND(a1<1500),4,IF((a1>=1500)*AND(a1<2000),5,IF((a1>=2000)*AND(a1<2500),6,IF((a1>=2500)*AND(a1<3000),7,IF((a1>=3000)*AND(a1<4000),8.5,IF((a1>=4000)*AND(a1<5000),10,IF((a1>=5000)*AND(a1<7000),15,IF((a1>=7000)*AND(a1<10000),30,IF((a1>=10000)*AND(a1<13000),50,IF((a1>=13000)*AND(a1<16000),70,IF((a1>=16000),100,""))

excel中这样的嵌套根本不允许,最多是10个好像,请问有什么好办法将这个问题解决。



等着用,急盼回复。谢谢了。
作者: 老鬼    时间: 2005-1-6 02:54
在IF的前面再加上括号,就可以了,如=(IF(……))。你的公式太长了,可能有错。
作者: 如果我是真的    时间: 2005-1-6 02:58
我不太明白,能不能帮我将上面的修改一下?谢谢了
作者: 如果我是真的    时间: 2005-1-6 03:11
excel只能嵌套七层,我加了几个( )试了一下,还是不行,不知版主怎么加的(),能否测试通过?急盼回复,谢谢了
作者: 老鬼    时间: 2005-1-6 03:29
and 的语法应该是这样的:and(a1>1,a1<5)
作者: 如果我是真的    时间: 2005-1-6 03:40
有劳你帮我检查一下哪里不对

另外,请版主自己也试一下,麻烦你了

=if(and(a1>=100,a1<150),0.8,and(a1>=150,a1<200,1.2,and(a1>=200,a1<300),1.6,and(a1>=300,a1<500),2,and(a1>=500,a1<700),2.5,and(a1>=700,a1<1000),3,and(a1>=1000,a1<1500),4,and(a1>=1500,a1<2000),5,and(a1>=2000,a1<2500),6,and(a1>=2500,a1<3000),7,and(a1>=3000,a1<4000),8.5,and(a1>=4000,a1<5000),10,and(a1>=5000,a1<7000),15,and(a1>=7000,a1<10000),30,and(a1>=10000,a1<13000),50,and(a1>=13000,a1<16000),70,IF((a1>=16000),100,""))

[此贴子已经被作者于2005-1-5 19:41:12编辑过]


作者: hi-wzj    时间: 2005-1-6 04:40
=IF(A1<300,IF(A1<200,IF(A1<150,IF(A1<100,"超出",0.8),1.2),1.6),IF(A1>=500,IF(A1>=700,"超出",2.5),2))if的7层嵌套是可以判断128个值的。
作者: lyqjqly    时间: 2005-1-6 18:39
还是要用到vlookup!!!
作者: stanleypan    时间: 2005-1-7 22:52
100<=a1<150  ,暂a2显示为0.8

150<=a1<200  ,暂a2显示为1.2

200<=a1<300  ,暂a2显示为1.6

300<=a1<500  ,暂a2显示为2

500<=a1<700  ,暂a2显示为2.5

诸如此类,还有很多.

针对这样的问题,我觉得用IF语句去写是下策,并不是说做不到,而是,不够灵活和方便.

其实用VLOOKUP函数可以方便做到.

[attach]8487[/attach]



[此贴子已经被作者于2005-1-7 14:58:13编辑过]


作者: 老鬼    时间: 2005-1-8 00:21
不然也可以用 =LOOKUP(A2,$D$2E$18)
作者: whjcxh    时间: 2005-1-8 19:12
这样用什么函数???      有一个表,a1单元格是用来输入数据的,a2单元格根据a1的数值,进行判断显示相关内容。条件如下a1=150  ,在a2显示为180a1=200  ,在a2显示为250a1=300  ,在a2显示为500a1=500  ,在a2显示为600。。。。。。能否象10楼用简单的方法???




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