在EXCEL中,如果一个数值为A1输入500,B1输入任意一个数字; 来判断B1中大于A1且小于A1*1.01时,显示0.5

在EXCEL中,如果一个数值为A1输入500,B1输入任意一个数字;C1中显示;
来判断
如果B1大于A1*(1+0.06)时,显示-3;
如果B1中大于A1且小于A1*1.01时,显示-0.5;
如果B1大于A1*1.01且小于A1*1.02时,显示-1;
如果B1等于A1时,显示0;
如果B1小于A1且大于A1*(1-0.01)时,显示0.5;
如果B1小于A1*(1-0.01)且B1大于A1*(1-0.02)时,显示1;
如果B1小于A1*(1-0.06)时,显示3;
A1为一个固定数值。
B2为一个可输入数值。
C3为显示数值。

C3包括 对应显示(只可能显示一种情况)
{A1>X<A1*1.01 -0.5
A1*1.01≥X<A1*1.02 -1
A1*1.02≥X<A1*1.03 -1.5
A1*1.03≥X<A1*1.04 -2
A1*1.04≥X<A1*1.05 -2.5
A1*1.05≥X<A1*1.06 -3
X≥A1*1.06 -3
X=A1 0
A1*0.99>X<A1 0.5
A1*0.98>X≦A1*0.99 1
A1*0.97>X≦A1*0.98 1.5
A1*0.96>X≦A1*0.97 2
A1*0.95>X≦A1*0.96 2.5
A1*0.94>X≦A1*0.95 3
X≦A1*0.94} 3

第1个回答  2011-11-21
在c1中输入以下函数,需根据具体题目再调整一下
=IF(1.06*A1<B1,"-3",IF(A1=B1,"0", IF(B1<1.01*A1,"-0.5",IF(B1<1.02*A1,"-1", IF(0.98*A1<B1,"1",IF(0.99*A1<B1,"0.5", IF(B1<0.94*A1,"3","")))))))
第2个回答  2011-11-24
直接利用IF语句就可以啊,if最多可以判断64次的情况,这样比较直观,容易理解:
if的格式是 IF(logical_test,value_if_true,value_if_false)

IF(A1>X<A1*1.01,-0.5,IF(A1*1.01≥X<A1*1.02,-1,IF(A1*1.02≥X<A1*1.03,-1.5,IF(A1*1.03≥X<A1*1.04 ,-2,IF(A1*1.04≥X<A1*1.05,-2.5,IF(A1*1.05≥X<A1*1.06 ,-3,IF(X≥A1*1.06,-3,)))))))
我只写到了第六行,你耐心地写完就可以了,不过看起来很繁琐啊
你也可以选择其他的思路追问

我写了不可以用的。X我换成了A2中的值,A1为固定的来判断A2,在C3中显示,怎么可以在每一个数值前加上65固定值。

追答

是不是公式提示错误,还是没达到你的要求啊?
在每一个数值前加上65?你是说在判断的边界变化么?还是说结果都加上65?
应该可以再在另一列填充65,然后用D=C+65得到吧?不知道你是不是这个意思?

第3个回答  2011-11-22
=SIGN(1-B1/A1)*CEILING(IF(ABS(1-B1/A1)*50>=3,3,ABS(1-B1/A1)*50),0.5)
你试一下这个公式,也许合适。
第4个回答  2011-11-23
楼上的正解本回答被提问者采纳
第5个回答  2011-11-23
fwefwefwefgwegewhgewghwgwgwgwgwg

参考资料:`q

相似回答
大家正在搜