Excel中的IF和:嵌套公式、多语句等

  • Share This
Michael Brown

本教程展示了如何在Excel中使用IF与AND函数来检查一个公式中的多个条件。

世界上有些东西是有限的,有些则是无限的,而IF函数似乎就是其中之一。 在我们的博客上,我们已经有了一些Excel IF教程,而且每天都在发现新的用途。 今天,我们要看看如何将IF与AND函数一起使用,同时评估两个或更多的条件。

    Excel中的IF AND语句

    为了建立IF AND语句,你显然需要在一个公式中结合IF和AND函数。 下面是方法。

    IF(AND( 条件1 , 条件2 ,...), value_if_true, value_if_false)

    翻译成普通英语,该公式如下:如果条件1为真,条件2为真,则做一件事,否则做其他事。

    作为一个例子,让我们做一个公式,检查B2是否为 "交付",C2是否为空,并根据结果,做以下的一项。

    • 如果这两个条件都是 "真",则将该订单标记为 "关闭"。
    • 如果任何一个条件是FALSE或者两个条件都是FALSE,那么返回一个空字符串("")。

    =IF(AND(B2="交付", C2""), "关闭", "")

    下面的截图显示了Excel中的IF AND函数。

    如果你想在逻辑测试评估为FALSE的情况下返回一些值,在 value_if_false 争论。 例如。

    =IF(AND(B2="交付", C2""), "关闭", "开放")

    如果B列是 "交付 "且C列有任何日期(非空白),修改后的公式输出 "关闭"。 在所有其他情况下,它返回 "开放"。

    注意:当在Excel中使用IF AND公式来评估文本条件时,请记住小写和大写被视为相同的字符。 如果你正在寻找一个对大小写敏感的IF AND公式,请将AND的一个或多个参数包入EXACT函数中,就像在链接的例子中那样。

    现在你知道了Excel IF AND语句的语法,让我来告诉你它能解决什么样的任务。

    Excel的IF:大于和小于

    在前面的例子中,我们是在两个不同的单元格中测试两个条件。 但有时你可能需要在同一个单元格中运行两个或更多的测试。 一个典型的例子是检查一个单元格的值是否为 两个数字之间 Excel的IF和函数也可以轻松做到这一点。

    假设你在B列有一些销售数字,你被要求标记大于50美元但小于100美元的金额。 要做到这一点,在C2中插入这个公式,然后把它复制到下一列。

    =IF(AND(B2>50, B2<100), "x", "")

    如果你需要包括 边界值 (50和100),使用 小于或等于 操作符(<=)和 大于或等于 (>=)运算符。

    =IF(AND(B2>=50, B2<=100), "x", "")

    要想在不改变公式的情况下处理一些其他的边界值,可以在两个单独的单元格中输入最小和最大的数字,并在公式中引用这些单元格。 为了使公式在所有行中正常工作,请确保对边界单元格(在我们的例子中是$F$1和$F$2)使用绝对引用。

    =IF(AND(B2>=$F$1, B2<=$F$2), "x", "" )

    通过使用一个类似的公式,你可以检查是否一个 日期 瀑布 在指定范围内 .

    例如,让我们标记2018年9月10日至2018年9月30日之间的日期,包括在内。 一个小障碍是,日期不能直接提供给逻辑测试。 为了让Excel理解日期,它们应该被括在DATEVALUE函数中,像这样。

    =IF(AND(B2>=DATEVALUE("9/10/2018"), B2<=DATEVALUE("9/30/2018")), "x", "")

    或者直接输入 来自 在两个单元格(本例中为$F$1和$F$2)中的日期,通过使用已经熟悉的IF AND公式从这些单元格中 "拉 "出来。

    =IF(AND(B2>=$F$1, B2<=$F$2), "x", "" )

    欲了解更多信息,请参见两个数字或日期之间的Excel IF语句。

    如果这个和那个,那么就计算一下

    除了返回预定义的值之外,Excel的IF AND函数还可以根据指定的条件是 "真 "还是 "假 "来执行不同的计算。

    为了证明这个方法,我们将为金额大于或等于100美元的 "关闭 "销售计算5%的奖金。

    假设金额在B列,订单状态在C列,公式如下。

    =IF(AND(B2>=100, C2="关闭"), B2*10%, 0)

    上述公式将零分配给其余的订单( value_if_false = 如果你愿意给不符合条件的订单一个小的刺激性奖金,比如说3%,那么就把相应的方程式包括在 value_if_false 争论。

    =IF(AND(B2>=100, C2="关闭"), B2*10%, B2*3%)

    Excel中的多个IF AND语句

    你可能已经注意到了,我们在上述所有的例子中只评估了两个标准。 但是没有什么能阻止你在你的IF AND公式中包括三个或更多的测试,只要它们符合Excel的这些一般限制。

    • 在Excel 2007及以上版本中,一个公式中最多可使用255个参数,公式总长度不超过8192个字符。
    • 在Excel 2003及以下版本中,允许的参数不超过30个,总长度不超过1,024个字符。

    作为一个多和条件的例子,请考虑这些条件。

    • 金额(B2)应大于或等于100美元
    • 订单状态(C2)为 "关闭"
    • 交付日期(D2)是在本月内

    现在,我们需要一个IF AND语句来确定3个条件都为 "真 "的订单。 它就在这里。

    =IF(AND(B2>=100, C2="关闭", MONTH(D2)=MONTH(TODAY()), "x", "")

    考虑到撰写本文时的 "当前月份 "是10月,该公式得出以下结果。

    嵌套的IF AND语句

    在处理大型工作表时,有可能需要一次检查几组不同的AND条件。 为此,你可以采用一个经典的Excel嵌套IF公式,并用AND语句扩展其逻辑测试,像这样。

    IF(AND(...), 输出1 , IF(AND(...), 输出2 , IF(AND(...), 输出3 , 输出4 )))

    为了得到大致的概念,请看下面的例子。

    假设你想根据运输成本和预计交货时间(ETD)来对你的服务进行评级。

    • 优秀 : 运费低于20美元,ETD低于3天
    • 贫穷 : 运费超过30美元,ETD超过5天
    • 平均值 :任何介于两者之间的东西

    要做到这一点,你要写两个单独的IF AND语句。

    IF(AND(B2<20, C2<3), "优秀", ...)

    IF(AND(B2>30, C2>5), "穷", ...)

    ......并将一个嵌进另一个。

    =IF(AND(B2>30, C2>5), "差", IF(AND(B2<20, C2<3), "优", "一般")

    其结果将与此相似。

    更多的公式例子可以在Excel嵌套的IF AND语句中找到。

    Excel中区分大小写的IF和函数

    正如本教程开头提到的,Excel的IF和公式不区分大写和小写字符,因为AND函数本质上是不区分大小写的。

    如果你在工作中与 区分大小写 数据,并希望在考虑到文本情况下评估AND条件,在EXACT函数中做每个单独的逻辑测试,并将这些函数嵌套到你的AND语句中。

    IF(AND(EXACT( 电池 ," 条件1 "),EXACT( 电池 ," 条件2 "), value_if_true, value_if_false)

    在这个例子中,我们将标记一个特定客户的订单(例如,名为 "S "的公司)。 网络空间 ),金额超过某个数字,例如100美元。

    正如你在下面的截图中所看到的,B列中的一些公司名称看起来与摘录的字符大小写相同,但它们是不同的公司,所以我们必须检查这些名称。 正是 C列的金额是数字,我们对它们进行常规的 "大于 "测试。

    =IF(AND(EXACT(B2, "Cyberspace"), C2>100), "x", "" )

    为了使公式更加灵活,你可以在两个单独的单元格中输入目标客户名称和金额,并引用这些单元格。 只要记住用$符号锁定单元格引用(在我们的例子中是$G$1和$G$2),这样当你把公式复制到其他行时,它们就不会改变。

    =IF(AND(EXACT(B2, $G$1), C2>$G$2), "x", "" )

    现在,你可以在引用的单元格中输入任何名称和金额,该公式将在你的表格中标记相应的订单。

    Excel中的IF或AND公式

    在Excel的IF公式中,你并不局限于只使用一个逻辑函数。 为了检查多个条件的各种组合,你可以自由地结合IF、AND、OR和其他函数来运行所需的逻辑测试。 下面是一个IF AND OR公式的例子,在AND中测试几个OR条件。 现在,我将向你展示如何在OR中进行两个或多个AND测试功能。

    假设,你希望在两个客户的订单上标注大于某个数字的金额,比如100美元。

    在Excel语言中,我们的条件是这样表达的。

    OR(AND() 客户1 , 数量 >100), AND( 客户2 , 数量 >100)

    假设客户名称在B列,金额在C列,2个目标名称在G1和G2,目标金额在G3,你用这个公式将相应的订单标记为 "x"。

    =IF(OR(AND(B2=$G$1, C2>$G$3), AND(B2=$G$2, C2>$G$3)), "x", "" )

    用更紧凑的语法也可以达到同样的效果。

    =IF(AND(OR(B2=$G$1,B2=$G$2), C2>$G$3), "x", "" )

    不确定你是否完全理解公式的逻辑? 更多的信息可以在Excel IF与多个AND/OR条件中找到。

    这就是你如何在Excel中一起使用IF和AND函数的方法。 谢谢你的阅读,下周见!

    实践工作手册

    IF AND Excel--公式实例(.xlsx文件)

    Michael Brown is a dedicated technology enthusiast with a passion for simplifying complex processes using software tools. With more than a decade of experience in the tech industry, he has honed his skills in Microsoft Excel and Outlook, as well as Google Sheets and Docs. Michael's blog is dedicated to sharing his knowledge and expertise with others, providing easy-to-follow tips and tutorials for improving productivity and efficiency. Whether you're a seasoned professional or a beginner, Michael's blog offers valuable insights and practical advice for getting the most out of these essential software tools.