详细解析Excel公式中的运算符优先级

  • 来源: office教程学习网   2016-06-02/15:13
  • 当Excel计算一个公式的值时,使用了某种规则来决定公式中的每一部分的运算顺序。如果希望公式得到理想的结果,就必须了解这些规则。  下表列出了Excel运算符的优先级,表中显示幂运算拥有最高优先级(最先进行运算) ,而逻辑比较运算符拥有最低优先级(最后进行运算)。

    符号运算符优先级^幂运算符1*乘号2/除号2+加号3-减号3&连接符号4=等于符号5<大于符号5>小于符号5

    使用括号可以覆盖Excel 的内置优先顺序,括号中的表达式总是最先计算。

    在下面的一个例子中,公式使用了括号以控制运算顺序。在此例中,B2中的值减去B3中的

    值,然后与B4 中的值相乘。

    = (B2-B3)*B4

    如果输入时没有括号,Excel将会计算出另一个答案。因为乘号拥有较高的优先级,所以B3会首先与B4 相乘,然后,B2才去减B3和B4相乘的结果,这可不是所需要的结果。

    没有括号的公式如下: ,

    =B2-B3*B4

    即使不是非常必要,使用公式也是一个很好的方式。这样做有利于搞清楚公式的意图。例如,

    下面的公式看起来很容易理解,B3应该与B4 相乘,然后从B2减去它们相乘的结果。如果没有括号,就必须记住Excel的优先级顺序。

    =B2-(B3*B4)

    公式中,括号还可以嵌套使用,也就是在括号的内部还可以有括号。对于这种情况, Excel会首先计算最里面括号中的表达式,然后计算外面的。下面是一个使用嵌套括号的公式的例子:

    =((B2*C2)+(B3*C3)+(B4 *C4))*B6

    公式中有4组括号,前3个嵌套在第4个括号里面。Excel会首先计算最里面括号中的内容,然后再把这3个结果相加,这一结果再乘以B6 中的值。

    尽管前面的公式使用了4组括号,但只有最外边的括号真正有必要。如果理解运算符的优先

    级,应该知道此公式可以被重写为:

    =(B2*C2+B3*C3+B4*C4)*B6

    再次提醒,使用额外的括号会使计算更加清晰。

    当然,每一个左括号都应该匹配一个相应的右括号。如果有多层嵌套括号,有时看起来会不

    直观。如果括号不匹配,Excel会显示一个信息说明此问题,并且不允许输入公式。

    在某些情况下,如果公式含有不对称括号,Excel会建议对公式进行更正,可以直接接受建议的更正结果,但是要注意,在很多情况下,更正的公式按照规则尽管是正确的,但却不是所需的公式,并且会产生错误的结果


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多