这个配方有什么作用?

时间:2013-06-13 17:56:53

标签: excel

我试图理解这个Excel公式,并理解IF语句,但不了解这个结构。 AND做了什么?

=IF(AND(C8>59,C8<65),5%,
    IF(AND(C8>64,C8<70),5.5%,
        IF(AND(C8>69,C8<75),6%,
            IF(AND(C8>74,C8<80),6.5%,
                IF(AND(C8>79,C8<85),7%,
                    IF(AND(C8>84,C8<90),7.5%,
                        IF(AND(C8>89,C8<250),8%)
                    )
                )
            )
        )
    )
)*D8

6 个答案:

答案 0 :(得分:2)

AND函数接受两个布尔输入,如果它们都为真,则返回TRUE

整个公式查看单元格C8的值并返回以下内容:

如果C8介于59和65之间,

为5%,

如果C8介于64和70之间,则为5.5%,

如果C8介于69和75之间,则

6%......等等。

哦,并且乘以在单元格D8

中找到的任何内容

答案 1 :(得分:2)

它(几乎)相当于:

60  64  0.05
65  69  0.055
70  74  0.06
75  79  0.065
80  84  0.07
85  89  0.075
90      0.08

=VLOOKUP(C8,$A$1:$C$7,3,TRUE)

答案 2 :(得分:0)

AND()函数意味着“所有参数必须为true”才能使函数计算为true。因此,您的第一行=IF(AND(C8>59,C8<65),5%,...表示“如果C8介于69和65之间,则返回5%。否则,请转到下一行。”由于excel IF语句具有结构IF(conditional, true result, false result),如果等式中每行的语句不为真,则评估将继续到下一行。否则,它会停止并返回该行的百分比。

答案 3 :(得分:0)

AND允许您在多个语句中检查布尔条件。

http://support.microsoft.com/kb/267982

答案 4 :(得分:0)

Excel的AND需要两个或多个参数,所有参数必须求值为true才能使最终结果为真。在这种情况下,将单元格C8与2个值进行比较,以创建“之间”类似的结构。

以某种伪代码重写这可能是它的样子:

if ((C8>59) and (C8<65)) then 
    // meaning, for all values between 60 and 64, return 5%
    returnvalue = 5%
else
    if ((C8>64) and (C8<70)) then 
        // meaning, for all values between 65 and 70, return 5.5%
        returnvalue = 5.5%

等等

答案 5 :(得分:0)

易读是......

IF C8&gt; 59和C8&lt; 65结果为 D8 * 5%
如果C8> 64和C8 <70,结果是 D8 * 5.5%
如果C8&gt; 69和C8&lt; 75结果是 D8 * 6%
如果C8> 74和C8 <80,结果是 D8 * 6.5%
如果C8> 79和C8 <85结果是 D8 * 7%
如果C8> 84和C8 <90,结果是 D8 * 7.5%
如果C8> 89和C8 <250,结果是 D8 * 8%

因此,如果 C8为66 D8为5 ,则结果为 5 * 0.55 = 2.75