在日常的使用中,我们经常会遇到一些场景,是需要根据不同的条件来判断得到一个不同的结果的。常见的一个例子就是根据学生成绩来评级。
这个函数的用法也很简单,先看看它的描述和签名:


它一共接受 3 个参数:
第 1 个参数是测试条件。表示我们将要判断的依据,或者判断条件。
第 2 个参数是当测试条件为真时的取值。
第 3 个参数是当测试条件为假时的取值。
比如说,测试条件是判断一个数据是否大于0,如果大于0,就返回1,否则返回-1。那么对应的公式就是这样的:
=if(3>1,1,0)
非常的简单!
看个实例:

理论上,IF 函数的用法就讲完了。它的知识点就这么少!
但这里还想提供一个进阶的用法,IF 函数是可以嵌套使用的!如果说我们需要把学生的成绩分成A、B、C、D 四个级别,只使用单个 IF 函数是实现不了的,但是几个函数来嵌套起来就可以实现了。看下面的例子,如果我们把成绩小于60的评为D,大于等于60但小于80的评为C,大于等于80小于90的评为B,大于90的评为A,则公式如下:

这个例子里面结合了 AND 函数来使用,AND 函数可以用来辅助同时判断多个条件,如
=if(and(f2>=60,f2<80),"C","B")
这个公式就用 and(f2>=60,f2<80) 来作为 if 函数的第 1 个参数,用来判断 f2 单元格的值是否同时大于等于60且小于80,如果是则返真,即“C”,否则返回“B”。
动图里面位于 I2 单元格的函数如下:
=IF(F2<60,"D",IF(AND(F2>=60,F2<80),"C",IF(AND(F2>=80,F2<90),"B","A")))
这个函数实现了 JAVA 编程语言中的一系列 if ... else if ... else 的效果:
if (f2 < 60) {
return "D";
} else if (f2 >= 60 && f2 < 80) {
return "C";
} else if (f2 >= 80 && f2 < 90) {
return "B";
} else {
return "A";
}