excel IF函数怎么用

啊南 1684阅读 2020.06.18

【导语】: IF函数在EXCEL中是一个基础函数,多用于条件判断,然后根据条件判断的结果返回对应的内容。IF函数的使用非常广泛,IF函数的使用方法你都知道吗?

excel IF 函数使用技巧,IF 函数怎么用

IF 函数允许通过测试某个条件并返回该条件为 True 或 False 的结果,从而对某个值和预期值进行逻辑对比。

=IF(内容为 True,则执行某些操作,否则就执行其他操作)

但如果需要测试多个条件,例如我们假设所有条件都需要为 True 或 False (AND),或只有一个条件需要为 True 或 False (OR),或者如果想要检查某个条件是否不 (NOT) 符合你的条件,这时该怎么做呢? 这三个函数均可以单独使用,但它们更常见于与 IF 函数成对使用。

------------------------------------------------------------------------------------

技术细节


将 IF 函数与 AND、OR 和 NOT 配合使用以执行条件是否为 True 或 False 的多项计算。

语法
  
IF(AND()) - IF(AND(logical1, [logical2], ...), value_if_true, [value_if_false]))
  
IF(OR()) - IF(OR(logical1, [logical2], ...), value_if_true, [value_if_false]))
  
IF(NOT()) - IF(NOT(logical1), value_if_true, [value_if_false]))

参数名称

说明

logical_test(必需)

要测试的条件。

value_if_true(必需)

logical_test 的结果为 TRUE 时你希望返回的值。

value_if_false(可选)

logical_test 的结果为 FALSE 时你希望返回的值。

                      
下面是如何分别构造 AND、OR 和 NOT 函数的概述。 当将它们分别与 IF 语句组合使用时,应按如下方式表达:

AND – =IF(AND(Something is True, Something else is True), Value if True, Value if False)

OR – =IF(OR(Something is True, Something else is True), Value if True, Value if False)

NOT – =IF(NOT(Something is True), Value if True, Value if False)

示例

下面是一些常见的嵌套 IF(AND())、IF(OR()) 和 IF(NOT()) 语句的示例。 AND 和 OR 函数最多可支持 255 个单独条件,但并不建议使用多个条件,因为构建、测试和维护复杂的嵌套公式是非常难的。 NOT 函数仅采用一个条件。
将 IF 函数与 AND、OR 和 NOT 函数配合使用计算数字值和文本的示例
下面是根据它们的逻辑写出的公式:

公式

说明

=IF(AND(A2>0,B2<100),TRUE, FALSE)

如果 A2 (25) 大于 0,并且 B2 (75) 小于 100,则返回 TRUE,否则返回 FALSE。 在本例中,两个条件都为 TRUE,因此返回 TRUE。

=IF(AND(A3="Red",B3="Green"),TRUE,FALSE)

如果 A3(“蓝色”)=“红色”,并且 B3(“绿色”)等于“绿色”,则返回 TRUE,否则返回 FALSE。 在本例中,只有第一个条件为 TRUE,因此返回 FALSE。

=IF(OR(A4>0,B4<50),TRUE, FALSE)

如果 A4 (25) 大于 0,或者 B4 (75) 小于 50,则返回 TRUE,否则返回 FALSE。 在本例中,只有第一个条件为 TRUE,但由于 OR 只要求一个参数为 TRUE,因此公式返回 TRUE。

=IF(OR(A5="Red",B5="Green"),TRUE,FALSE)

如果 A5(“蓝色”)=“红色”,或者 B5(“绿色”)等于“绿色”,则返回 TRUE,否则返回 FALSE。 在本例中,第二个参数为 TRUE,因此公式返回 TRUE。

=IF(NOT(A6>50),TRUE,FALSE)

如果 A6 (25) 不大于 50,则返回 TRUE,否则返回 FALSE。 在本例中,25 不大于 50,因此公式返回 TRUE。

=IF(NOT(A7="Red"),TRUE,FALSE)

如果 A7(“蓝色”)不等于“红色”,则返回 TRUE,否则返回 FALSE。

  
请注意,在所有示例中,输入各自的条件后都加了右括号。 其余 True/False 参数将作为外部 IF 语句的一部分。 你也可以将“文本”或“数字”值替换为示例中返回的 TRUE/FALSE 值。

以下是使用 AND、OR 和 NOT 函数计算日期的示例。
将 IF 函数与 AND、OR 和 NOT 函数配合使用计算日期的示例

下面是根据它们的逻辑写出的公式:


公式

说明

=IF(A2>B2,TRUE,FALSE)

如果 A2 大于 B2,则返回 TRUE,否则返回 FALSE。 14/03/12 大于 14/01/01,因此公式返回 TRUE。

=IF(AND(A3>B2,A3<C2),TRUE,FALSE)

如果 A3 大于 B2,并且 A3 小于 C2,则返回 TRUE,否则返回 FALSE。 在本例中,两个参数均为 TRUE,因此公式返回 TRUE。

=IF(OR(A4>B2,A4<B2+60),TRUE,FALSE)

如果 A4 大于 B2,或 A4 小于 B2 + 60,则返回 TRUE,否则返回 FALSE。 在本例中,第一个参数为 TRUE,但第二个为 FALSE。 由于 OR 仅需要一个参数为 TRUE,因此公式返回 TRUE。 如果使用“公式”选项卡中的公式求值向导,则将看到 Excel 计算公式的方式。

=IF(NOT(A5>B2),TRUE,FALSE)

如果 A5 不大于 B2,则返回 TRUE,否则返回 FALSE。 在本例中,A5 大于 B2,因此公式返回 FALSE。

   公式求值向导示例

将 AND、OR 和 NOT 与条件格式配合使用


你也可以使用 AND、OR 和 NOT 通过公式选项设置“条件格式”条件。 这样做可以省略 IF 函数,并可以独立使用 AND、OR 和 NOT。

在“开始”选项卡上,单击“条件格式”>“新规则”。 接下来,选择“使用公式确定要设置格式的单元格”选项,输入公式并应用你选择的格式。
条件格式 > 编辑规则对话框(显示公式方法)
使用早期版本的“日期”示例时,公式应如下所示。
将 AND、OR 和 NOT 函数用作条件格式测试的示例


公式

说明

=A2>B2

如果 A2 大于 B2,则设置单元格格式,否则不执行任何操作。

=AND(A3>B2,A3<C2)

如果 A3 大于 B2 且 A3 小于 C2,则设置单元格格式,否则不执行任何操作。

=OR(A4>B2,A4<B2+60)

如果 A4 大于 B2 或 A4 小于 B2 超过 60(天),则设置单元格格式,否则不执行任何操作。

=NOT(A5>B2)

如果 A5 不大于 B2,则设置单元格格式,否则不执行任何操作。 在本例中,A5 大于 B2,因此结果返回 FALSE。 如果打算将公式更改为 =NOT(B2>A5),则会返回 TRUE,并且会设置单元格格式。

excel IF函数怎么用,如何使用IF函数快速标注单元格

IF 函数允许通过测试某个条件并返回 True 或 False 的结果,从而对某个值和预期值进行逻辑比较。

=IF(内容为 True,则执行某些操作,否则就执行其他操作)

因此 IF 语句可能有两个结果。 第一个结果是比较结果为 True,第二个结果是比较结果为 False。

IF 语句非常强大,其构成了许多电子表格模型的基础,但也是导致许多电子表格问题的根本原因。 理想情况下,IF 语句应适用于最小条件(例如 Male/Female 和 Yes/No/Maybe),但是对更复杂情况求值时则需要同时嵌套* 3 个以上的 IF 函数。

*“嵌套”是指在一个公式中连接多个函数的做法。

--------------------------------------------------------------------------------------------------------

技术细节


使用逻辑函数 IF 函数时,如果条件为真,该函数将返回一个值;如果条件为假,函数将返回另一个值。

语法

IF(logical_test, value_if_true, [value_if_false])

例如:
  
=IF(A2>B2,"超出预算","正常")
  
=IF(A2=B2,B4-A4,"")
      

参数名称

说明

logical_test   

(必需)

要测试的条件。

value_if_true   

(必需)

logical_test 的结果为 TRUE 时,您希望返回的值。

value_if_false   

(可选)

logical_test 的结果为 FALSE 时,您希望返回的值。

    
备注

虽然 Excel 允许嵌套最多 64 个不同的 IF 函数,但不建议这样做。 原因如下。

要正确地构建多个 IF 语句需要花大量心思,并要确保其逻辑在直至结尾的每个条件下都能计算正确。 如果嵌套公式不是 100% 准确,那么计算过程可能花 75% 的时间,而返回结果可能花 25% 的时间,并且结果并不理想。 但是得出这 25% 结果的几率很小。

多个 IF 语句维护起来非常困难,特别是过一段时间后回头再看,想要了解当时你(其他人的话更糟糕)想要做什么时。

如果发现 IF 语句似乎在无穷无尽地不断增加,这时候应放下鼠标,重新思考策略。

我们来了解一下如何使用多个 IF 正确创建一个复杂的嵌套 IF 语句,以及何时应使用 Excel 库中的其他工具。

示例

以下示例介绍了一个相对标准的嵌套 IF 语句,该语句将学生考试成绩转化为等效字母等级。
复杂的嵌套 IF 语句 - E2 中的公式为 =IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-",IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))
=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

此复杂嵌套 IF 语句遵循一个简单逻辑:
  
如果 Test Score(单元格 D2)大于 89,则学生获得 A

如果 Test Score 大于 79,则学生获得 B

如果 Test Score 大于 69,则学生获得 C

如果 Test Score 大于 59,则学生获得 D

否则,学生获得 F

这个具体示例比较安全,因为考试成绩和字母等级之间的相关性不可能改变,所以不需要太多维护。 但想想 - 如果需要在 A+、A 和 A- 等等之间划分成绩应该怎么办? 现在 IF 语句包含 4 个条件,需要将其重写为包含 12 个条件! 公式如下所示:

=IF(B2>97,"A+",IF(B2>93,"A",IF(B2>89,"A-",IF(B2>87,"B+",IF(B2>83,"B",IF(B2>79,"B-", IF(B2>77,"C+",IF(B2>73,"C",IF(B2>69,"C-",IF(B2>57,"D+",IF(B2>53,"D",IF(B2>49,"D-","F"))))))))))))

该公式仍具有准确的功能并按预期工作,但需要花很长时间编写并花更长时间进行测试,才能确保该公式可完成所需操作。 另一个明显的问题是必须手动输入分数和等效字母等级。 不小心输错字的几率是多少? 想象一下,需要使用更复杂的条件 64 次! 当然这是可能实现的,但你真的想给自己带来这种麻烦和难以察觉的可能错误吗?

提示: Excel 中的每个函数都需要使用左括号和右括号 ()。 编辑时,Excel 会通过对公式的不同部分着色来帮助你定位。 例如,如果要编辑上面的公式,将光标移过每个右括号“)”时,它的相应左括号会显示相同颜色。 在复杂嵌套公式中检查是否拥有足够的匹配括号时,此方法尤其有用。

更多示例

下面是一个十分常见的示例 - 根据销售额等级计算销售佣金
单元格 D9 中的公式为 IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))
=IF(C9>15000,20%,IF(C9>12500,17.5%,IF(C9>10000,15%,IF(C9>7500,12.5%,IF(C9>5000,10%,0)))))

此公式表示如果 (C9 大于 15,000 则返回 20%,如果 (C9 大于 12,500 则返回 17.5% 等等…

虽然该公式与前面的“成绩”示例非常相似,但它很好地说明了维护大型 IF 语句的难度 - 如果组织决定增加新的薪酬等级,甚至改变现有美元或百分比值,那么你需要做些什么? 必须手动完成大量工作!

提示: 为了使长公式更易于阅读,可在编辑栏中插入换行符。 只需在将文本换到新行前按 Alt+Enter。

下面是一个包含混乱逻辑的佣金方案示例:
D9 中的公式顺序颠倒,变为 =IF(C9>5000,10%,IF(C9>7500,12.5%,IF(C9>10000,15%,IF(C9>12500,17.5%,IF(C9>15000,20%,0)))))
发现问题了吗? 将销售额比较的顺序与上一示例的顺序进行比较。 此示例用的是哪种方式? 此示例采用自下而上(从 5,000 美元到 15,000 美元)而不是自上而下的方式。 但为什么说这是个大问题? 因为公式无法通过对任何超过 5,000 美元的值的第一次求值。 假设销售额为 12,500 美元 - IF 语句将返回 10%,因为该值大于 5,000 美元,所以公式将在此处停止。 此类问题很严重,因为在许多情况下,此类错误容易被忽视,直到产生负面影响才会被发现。 既然知道复杂嵌套 IF 语句具有严重缺陷,你能做些什么? 在大多数情况下,可使用 VLOOKUP 函数,而不是使用 IF 函数构建复杂公式。 若要使用 VLOOKUP,首先需要创建一个引用表:
单元格 D2 中的公式为 =VLOOKUP(C2,C5:D17,2,TRUE)
=VLOOKUP(C2,C5:D17,2,TRUE)

此公式表示在 C5:C17 区域中查找 C2 的值。 如果找到值,则从 D 列的同一行返回相应值。
单元格 C9 中的公式为 =VLOOKUP(B9,B2:C6,2,TRUE)
=VLOOKUP(B9,B2:C6,2,TRUE)

类似地,此公式将在 B2:B22 区域中查找单元格 B9 的值。 如果找到值,则从 C 列的同一行返回相应值。

注意: 这两个 VLOOKUP 公式在公式末尾使用 TRUE 参数,这表示需要它们查找适当的匹配项。 也就是说,它将匹配查找表中的精确值以及范围内的任何值。 在这种情况下,查找表需要按升序??排序(从小到大)。

此处更详细地介绍 VLOOKUP,但这确保比12级复杂的嵌套 IF 语句更简单! 还有其他一些不太明显的优点:

VLOOKUP 引用表是开放的,易于查看。

条件更改后,可轻松更新表值,无需更改公式。

如果不希望他人查看或更改引用表,只需将其置于其他工作表。


你知道吗?

目前 IFS 函数可使用单个函数替代多个嵌套 IF 语句。 因此,对于最初的包含 4 个嵌套 IF 函数的成绩示例:

=IF(D2>89,"A",IF(D2>79,"B",IF(D2>69,"C",IF(D2>59,"D","F"))))

可使用单个 IFS 函数使其变得更简洁:

=IFS(D2>89,"A",D2>79,"B",D2>69,"C",D2>59,"D",TRUE,"F")

IFS 函数十分有用,因为无需担心所有这些 IF 语句和括号带来的麻烦。

注意: 仅当具有 Microsoft 365 订阅时,此功能才可用。 如果你是 Microsoft 365 订阅者,请确保拥有最新版本的 Office。

如何使用excel快速标注成绩及格还是不及格,IF函数怎么用

使用逻辑函数 IF函数时,如果条件为真,该函数将返回一个值;如果条件为假,函数将返回另一个值。

语法

IF(logical_test, value_if_true, [value_if_false])

logical_test:必需,要测试的条件。

value_if_true:必需,logical_test 的结果为 TRUE 时,您希望返回的值。

value_if_false:可选,logical_test 的结果为 FALSE 时,您希望返回的值。

人事招聘时,可以对应聘者发送面试邀请。

已知合格条件是分数大于等于6,那如何将面试结果转换成文字呢?

具体方法与步骤如下:

将光标放在I3处,点击插入IF函数。

在测试条件中输入H3>=6,真值和假值中分别输入“合格”“不合格”。

此处要注意,输入的文字需要在英文状态下的双引号中。

点击确定得出结果,将光标放在I3右下角呈十字形下拉填充公式。

就可以批量将面试结果转换成文字了。