如何在Excel中使用If和嵌套If语句


IF函数是我在公式中经常使用的一个Excel函数。 IF函数用于测试逻辑条件,并根据逻辑条件是返回TRUE还是FALSE来产生两个不同的结果。

让我们以下面的手机销售表为例。您可以下载示例文件在这里

<图class =“ lazy aligncenter”>

具有单一条件的IF函数

请考虑一种情况,您需要根据每个销售行计算佣金关于销售地点的信息(D列)。如果销售是在美国进行的,则佣金为10%,否则其余地区的佣金为5%。

您需要在单元格F2上输入的第一个公式如下所示:

=IF(D2="USA", E2*10%, E2*5%)
”>

公式分解:

  1. = IF(“ =”表示单元格中公式的开头,而IF是我们正在使用的excel函数。
  2. D2 =“美国”–我们执行的逻辑测试(即,如果D2列中的数据是美国)。
  3. E2 * 10%–如果初始逻辑测试结果为TRUE(即D2列中的值为美国)。
  4. E2 * 5%–结果将由表单返回例如,如果初始逻辑测试结果为FALSE(即D2列中的值是NOT美国)。
  5. –右方括号表示
  6. 然后,您可以将公式从CellF2复制到ColumnF中的其余行,它将进行计算每行的CommissionFee,取决于IF逻辑测试是否返回TRUEFALSE的10%或5%

    <!-
    In_content_1全部:[300x250] / dfp:[640x360]
    ->
    <图class =“ lazy aligncenter”>

    IF函数具有多个条件

    如果规则要复杂一些,而您需要测试多个逻辑条件并为每个条件返回不同的结果,该怎么办?

    Excel对此有一个答案!我们可以在同一个单元格中合并多个IF功能,有时也称为嵌套IF

    请考虑以下类似情况,其中每个销售地点佣金如下:

    • 美国
    • 澳大利亚5%
    • 新加坡2%
    • 单元格中F2(稍后将其复制到F列的其余行中),请按如下所示输入公式:

      =IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))

      Formulabreakdown:

      1. = IF(–使用IF语句的公式开头
      2. D2 =“美国”–第一项逻辑检验我们执行(即如果D2列中的数据是USA)。
      3. E2 * 10%–结果将是如果初始逻辑测试结果为TRUE(即D2列中的值为USA),则由公式返回。
      4. IF(D2 =“ Australia”,E2 * 5%,E2 * 2%)–第二个Excel IF语句,如果初始逻辑tes被评估t导致FALSE(即FALSE(即D2列中的值是美国)。这与本文前面讨论的“ 具有单一条件的IF函数”的语法相似,其中如果CellD2上的值是澳大利亚,将返回E2 * 5%的结果。否则,如果该值不是Australia,则该函数将返回结果E2 * 2%。
      5. –右括号表示第一个IF函数公式的结尾。
      6. 当进行逻辑测试时,由于Excel将从左至右评估公式

        (例如D2 =“美国”),该函数将停止并返回结果,而后忽略任何进一步的逻辑测试(例如D2 =“澳大利亚”。)

        因此,如果第一个逻辑测试返回FALSE(即位置不是美国),它将继续评估第二个逻辑测试。也是FALSE(即位置不在澳大利亚),我们不需要进一步测试,因为我们知道Cell D2上唯一可能的值是新加坡,因此应返回E2 * 2%的结果。

        为了清楚起见,您可以添加第三个逻辑测试IF(D2 =“新加坡”,“如果为真则为值”,“如果为假则为值”)。因此,完整的扩展公式如下所示:

        =IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,IF(D2="Singapore",E2*2%)))
        <图类=“ lazy aligncenter”>

        如前所述,上面的结果将返回与原始公式相同的结果。

        =IF(D2="USA",E2*10%,IF(D2="Australia",E2*5%,E2*2%))

        快速提示

        • 对于每个单个IF(函数,都需要有一个开合圆括号。当有三个IF“)))”,每个括号都标记了相应的IF(语句)的结尾。
        • 如果我们未指定逻辑测试的第二个结果(逻辑测试导致FALSE时),则Excel分配的默认值为文本“ FALSE”。 / strong>因此,如果D2是,则公式= IF(D2 =“ USA”,E2 * 10%)将返回文本“ FALSE”。不是“美国”
        • 如果您有几个不同的逻辑测试,每个逻辑测试都有不同的结果,则可以多次组合/嵌套IF函数,一个接一个,类似于上面的示例。
        • 0306 Index与Match嵌套使用

          相关文章:


          25.01.2019