2010-06-24 49 views
5

我有3个数字范围,答案取决于范围。带有3种可能答案的“IF”陈述,每种答案都基于3个不同的范围

75-79=0.255 

80-84=0.327 

85+ =0.559 

我试图创建一个方程来说明范围,但是Excel声明我输入了这个函数的参数太多。以下是我输入的公式无效。 (X2包含数字)

=IF(X2=75,X2<=79,0.255,IF(X2=80,X2<=84,0.327,IF(X2>=85,0.559,0))) 

我还试图进入的数字范围到另一片 - Age,并且得到了一个错误#Value!

=IF(X2=Age!A1:A5,0.257,IF(X2=Age!A6:A10,0.327,IF(X2=Age!A11:A33,0.559,0))) 
+1

http://www.techonthenet.com/excel/formulas/if_nested.php – 2010-06-24 20:01:05

+0

谢谢SB,我只是简单地看了看网站;但它看起来像帮助我减少虚拟。 – 2010-06-25 18:41:18

回答

9
=IF(X2>=85,0.559,IF(X2>=80,0.327,IF(X2>=75,0.255,-1))) 

说明:

=IF(X2>=85,     'If the value is in the highest bracket 
     0.559,     'Use the appropriate number 
     IF(X2>=80,    'Otherwise, if the number is in the next highest bracket 
      0.327,   'Use the appropriate number 
      IF(X2>=75,  'Otherwise, if the number is in the next highest bracket 
       0.255,   'Use the appropriate number 
       -1    'Otherwise, we're not in any of the ranges (Error) 
      ) 
     ) 
    ) 
+0

VeeArr, 非常感谢您的方程和详细的解释。我知道这帮助我理解了为什么必须这样写方程。希望它也能帮助别人。 – 2010-06-24 20:13:04

1

你的公式应该是=IF(X2 >= 85,0.559,IF(X2 >= 80,0.327,IF(X2 >=75,0.255,0)))的形式。这模拟Excel缺少的操作数ELSE-IF。您的公式每个都使用两个条件,但IF公式的第二个参数是条件评估为true时要使用的值。你不能以这种方式连锁条件。

+0

非常感谢Andy。你的解释几乎和方程本身一样好。这些If语句终于开始有意义了。再次感谢。 – 2010-06-24 20:05:33

+0

没问题。 @ VeeArr的解释也很清楚。 – Andy 2010-06-24 20:06:44

3

您需要使用AND功能的多个条件:

=IF(AND(A2>=75, A2<=79),0.255,IF(AND(A2>=80, X2<=84),0.327,IF(A2>=85,0.559,0))) 
+0

谢谢汤姆。我玩过AND功能,也无法做到这一点。看着你完成的方程,我现在知道我正在将AND函数的一部分混合到一个正常的IF语句中,这只是其中的一个错误。谢谢 – 2010-06-24 20:10:20

0

这是我做过什么:

很简单地说:

=IF(C7>100,"Profit",IF(C7=100,"Quota Met","Loss")) 

第一IF声明,如果属实将输入的利润,而如果为假会导致下一个IF声明等等:)

我只有基本配方知识,但它的工作,所以我会接受我的权利!