Table of contents
谷歌表格中的IF函数是最容易学习的函数之一,虽然这一点成立,但它也是一个非常有用的函数。
在本教程中,我邀请你仔细看看谷歌电子表格的IF功能是如何工作的,以及你使用它将获得哪些好处。
什么是谷歌表格中的IF函数?
每当你使用IF函数时,你就会创建一个决策树,在这个决策树中,在一个条件下会有某些行动,如果不满足这个条件--就会有另一个行动。
为此,函数的条件必须是备选问题的格式,只有两个可能的答案:"是 "和 "不是"。
这就是决策树可能出现的情况。
因此,IF函数允许你提出一个问题,并根据收到的答案指出两个备选行动。 这个问题和备选行动被称为函数的三个参数。
谷歌表格中的IF函数语法
IF函数及其参数的语法如下。
=IF(logical_expression, value_if_true, value_if_false)- 逻辑_表达式 - (required)一个值或逻辑表达式,测试它是TRUE还是FALSE。
- value_if_true - (required)如果测试为 "true",则执行的操作。
- value_if_false - 可选)如果测试结果为FALSE,则执行的操作。
让我们更详细地探讨一下我们的IF函数的参数。
第一个参数代表一个逻辑问题,Google Sheets用 "是 "或 "否 "回答这个问题,即 "真 "或 "假"。
你可能会问,如何正确地提出问题? 要做到这一点,你可以使用"="、">"、"="、"<="、""等有用的符号(或比较运算符)写一个逻辑表达式。 让我们试着一起提出这样一个问题。
IF函数的使用
假设你在一家公司工作,在几个消费地区销售巧克力,有很多客户。
这就是你的销售数据在谷歌表格中可能出现的情况。
想象一下,你需要将本地地区的销售与国外的销售区分开来。 为了达到这个目的,你应该为每笔销售添加另一个描述字段--销售发生的国家。 由于有很多数据,你需要这个描述字段为每个条目自动创建。
这就是IF函数发挥作用的时候。 让我们在数据表中添加 "国家 "一栏。"西部 "地区代表本地销售(我们国家),而其余的是来自国外的销售(世界其他地区)。
如何正确写出函数?
将光标放在F2,使该单元格处于活动状态,然后输入等号(=)。 Google Sheets会立即明白你要输入一个公式。 这就是为什么在你输入字母 "i "后,它会提示你选择一个以该字母开头的函数。 而你应该选择 "IF"。
此后,你的所有行动也将伴随着提示。
对于IF函数的第一个参数,输入 B2="西部" 与其他谷歌表函数一样,你不需要手动输入单元格的地址--鼠标点击即可。 然后输入逗号(,)并指定第二个参数。
第二个参数是F2在满足条件时将返回的值。 在本例中,它将是文本 "我们的国家"。
再一次,在逗号之后,写上第3个参数的值。 如果不满足条件,F2将返回这个值:"世界其他地区"。 不要忘了用闭合括号")"结束你的公式输入,然后按 "Enter"。
你的整个公式应该看起来像这样。
=IF(B2="西方", "我们国家", "世界其他地区")
如果一切正确,F2将返回文本 "我们的国家"。
现在,你所要做的就是把这个函数复制到F列。
提示:有一种方法可以用一个公式处理整个列。 ARRAYFORMULA函数将帮助你做到这一点。 在列的第一个单元格中使用它,你可以根据同一条件测试下面的所有单元格,并同时向每行返回相应的结果。
=ARRAYFORMULA(IF(B2:B69="西方", "我们国家", "世界其他地区")
让我们研究一下使用IF函数的其他工作方式。
IF函数和文本值
在上面的例子中已经说明了IF函数与文本的用法。
注意:如果文本被用作参数,那么它必须用双引号括起来。
IF函数和数值
你可以像对待文本那样,用数字来表示参数。
然而,这里非常重要的是,IF函数使得它不仅可以根据满足的条件为单元格填充某些数字,还可以进行计算。
例如,假设你根据购买的总价值为你的客户提供各种折扣。 如果总价值超过200,那么客户就会得到10%的折扣。
为此,你需要使用G列并将其命名为 "折扣"。 然后在G2中输入IF函数,第二个参数将由计算折扣的公式表示。
=IF(E2>200,E2*0.1,0)
IF 空白/非空白
有些情况下,你的结果取决于单元格是否为空。 有两种方法来检查。
- 使用ISBLANK函数。
例如,下面的公式检查E列的单元格是否为空,如果是,就不应该有折扣,否则就是5折。
=if(isblank(e2)=true,0,0.05)
注意,如果有一个 零长度的字符串 在一个单元格中(由一些公式返回),ISBLANK函数的结果将是FALSE。
这里有另一个公式来检查E2是否为空。
=if(isblank(e2)2false,0,0.05)
你可以把公式反过来,看看是否有单元格没有空白。
=if(isblank(e2)=false,0.05,0
=if(isblank(e2)true,0.05,0)
- 使用带有一对双引号的标准比较运算符。
注:该方法考虑了 零长度的字符串 (用双引号表示)为空单元格。
=if(e2="",0,0.05)
- 检查E2是否为空白=if(e2"",0,0.05)
- 检查E2是否为空。提示:以类似的方式,使用双引号作为参数,通过公式返回一个空单元格。
=IF(E2>200,E2*0,"")
与其他功能相结合的IF
正如你已经学过的,文本、数字和公式可以作为IF函数的参数。 然而,其他函数也可以扮演这个角色。 让我们看看它是如何工作的。
谷歌表的IF或
还记得你弄清你卖巧克力的国家的第一个方法吗? 你检查B2是否含有 "西"。
然而,你可以反过来建立逻辑:列出所有可能属于 "世界其他地区 "的地区,并检查是否 其中至少有一个 第一个参数中的OR函数将帮助你做到这一点。
=OR(logical_expression1, [logical_expression2, ...] )- 逻辑_表达式1 - (required)第一个要检查的逻辑值。
- 逻辑_表达式2 - (可选)要检查的下一个逻辑值。
- 等等。
正如你所看到的,你只需输入你需要检查的逻辑表达式,如果其中一个为真,该函数就会进行搜索。
要将这一知识应用到有销售的表格中,提到所有属于国外销售的地区,其他的销售就会自动变成当地的。
=IF(OR(B2="东方",B2="南方"), "世界其他地区", "我们国家")
谷歌表IF和
AND函数也同样简单,唯一不同的是,它检查所有列出的逻辑表达式是否为真。
=AND(logical_expression1, [logical_expression2, ...] )例如,你需要将搜索范围缩小到你的城市,而且你知道它目前只购买榛子。 所以有两个条件需要考虑:地区 - "西部 "和产品 - "榛子巧克力"。
=IF(AND(B2="西部",C2="榛子巧克力"), "我们国家", "世界其他地区")
嵌套的IF公式与谷歌表的IFS函数对比
你也可以使用IF函数本身作为更大的IF函数的参数。
假设你为客户设定了更严格的折扣条件。 如果总购买量超过200件,他们可以得到10%的折扣;如果总购买量在100至199之间,折扣为5%。 如果总购买量低于100,则没有任何折扣。
下面的公式显示了该函数在G2单元格中的样子。
=IF(E2>200,E2*0.1,IF(E2>100,E2*0.05,0))
请注意,作为第二个参数的是另一个IF函数。 在这种情况下,决策树的情况如下。
让我们把这个任务变得更加有趣和复杂。 想象一下,你只向一个地区提供折扣价--"东部"。
为了正确地做到这一点,在我们的函数中添加逻辑表达式 "AND"。 然后,公式将看起来如下。
=IF(AND(B2="East",E2>200),E2*0.1,IF(AND(B2="East",E2>100),E2*0.05,0))
正如你所看到的,折扣的数量已经大大减少,而其金额却保持不变。
由于IFS函数的存在,还有一个更简单的方法来编写上述内容。
=IFS(condition1, value1, [condition2, value2, ...] )- 条件1 - (必填)是你要测试的逻辑表达式。
- 价值1 - (required)是在条件1为真时要返回的值。
- 然后你只需列出条件和它们的值,如果它们是真的,则返回。
以下是上述公式在IFS中的表现。
=IFS(AND(B2="East",E2>200),E2*0.1,AND(B2="East",E2>100),E2*0.05)
提示:如果没有真实条件,公式将返回#N/A错误。 为了避免这种情况,用IFERROR包裹你的公式。
=IFERROR(IFS(AND(B2="East",E2>200),E2*0.1,AND(B2="East",E2>100),E2*0.05),0)
SWITCH作为多个IF的替代方案
还有一个函数你可能要考虑代替嵌套的IF:Google Sheets SWITCH。
它逐一检查你的表达式是否对应于一个案例列表。 如果是,函数就会返回一个相应的值。
=SWITCH(expression, case1, value1, [case2, value2, ...], [default])- 表情 是任何单元格引用,或一个单元格范围,甚至是一个实际的数学表达式,甚至是一个你想与你的案例相等的文本(或针对标准的测试)。 需要。
- 案例1 是你检查表达式的第一个标准。 需要。
- 价值1 是一条要返回的记录,如果 案例1 标准与你的表达方式相同。 需要。
- case2, value2 重复的次数与你要检查的标准和要返回的值一样多。 可选。
- 违约 也是完全可选的。 使用它可以在没有满足任何情况下看到一个特定的记录。 我建议每次都使用它,以避免在你的表达式没有满足所有情况下的匹配时出现错误。
这里有几个例子。
拟 对照文本测试你的细胞 ,使用范围作为表达式。
=ARRAYFORMULA(SWITCH(B2:B69, "西方", "我们国家", "世界其他地区"))
在这个公式中,SWITCH检查B列每个单元格中的记录是什么,如果是 西部 ,该公式说 我们的国家 ,否则。 世界其他地区 .ArrayFormula使其有可能一次处理整个列。
拟 计算工作 ,最好使用布尔表达式。
=SWITCH(TRUE,$E2>200,$E2*0.1,AND($E2100),$E2*0.05,0)
这里SWITCH检查方程的结果是否为 为真 或 失败 .当它是 为真 (比如说如果 E2 确实大于 200 ),我得到一个相应的结果。 如果列表中没有一个案例是 为真 (意味着他们是 失败 ),该公式只是返回0。
注意:SWITCH不知道如何一次性计算整个范围,所以在这种情况下没有ARRAYFORMULA。
基于计数的IF语句
我们经常被问到的一个问题是如何创建IF公式,如果该列包含或不包含某条记录,将返回你需要的任何信息。
例如,检查一个客户的名字是否在列表(A列)中出现不止一次,并将相应的词(是/否)放入单元格。
解决方案比你想象的要简单。 你需要在你的IF中引入COUNTIF函数。
=IF(COUNTIF($A$2:$A$20,$A2)>1, "是", "不是")
让谷歌表为你建立IF公式 - IF公式生成器插件
如果你厌倦了跟踪所有这些额外的字符和公式中的正确语法,还有另一种解决方案可用。
谷歌表格的IF公式生成器插件提供了一种创建IF语句的可视化方式。 该工具将为你处理语法、额外的函数和所有需要的字符。
你所需要做的就是。
- 用你的记录一个一个地填空。 对日期、时间等没有特殊处理,像往常一样输入,插件会识别数据类型。
- 从建议的下拉列表中选择所需的比较运算符。
- 如果需要,可以在一次点击中添加多个逻辑表达式:IF OR, IF AND, ELSE IF, THEN IF。
正如你所看到的,每个逻辑表达式都有自己的行。 真/假结果也是如此。 这大大减少了公式可能出现的混乱。
当你填写所有内容时,使用的公式会在窗口顶部的预览区增长。 在它的左边,你可以在工作表中选择一个你想拥有该公式的单元。
当你准备好后,通过点击底部的插入公式按钮,将公式粘贴到感兴趣的单元格。
请访问IF公式生成器的在线教程,查看所有选项的详细描述。
我希望现在没有任何怀疑的余地了,虽然IF函数乍一看非常简单,但它为谷歌表格中的数据处理打开了许多选项的大门。 但如果你还有问题,可以在下面的评论区提出,我们将很乐意帮助你!