2

我试图理解这个 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
4

6 回答 6

2

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

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

5% 如果C8在 59 到 65 之间,

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

如果介于 69 和 75 之间,则为 6% C8……等等。

哦,这乘以在细胞中发现的任何东西D8

于 2013-06-13T18:01:05.190 回答
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)
于 2013-06-13T19:21:27.560 回答
0

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

于 2013-06-13T18:01:19.673 回答
0

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

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

于 2013-06-13T18:02:53.400 回答
0

Excel 的 AND 需要 2 个或多个参数,所有这些参数都必须评估为 true 才能使最终结果为 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%

等等

于 2013-06-13T18:05:48.910 回答
0

轻松阅读是..

IF C8>59 and C8<65 结果是D8 * 5%
IF C8>64 and C8<70 结果是D8 * 5.5%
IF C8>69 and C8<75 结果是D8 * 6%
IF C8>74 and C8<80 结果为D8 * 6.5%
IF C8>79 且 C8<85 结果为D8 * 7%
IF C8>84 且 C8<90 结果为D8 * 7.5%
IF C8>89 且 C8<250 结果为D8 * 8%

所以如果你的C8 是 66D8 是 5那么结果是5 * 0.55 = 2.75

于 2013-06-14T00:15:09.680 回答