今天我们来讲讲逻辑函数—IF函数的应用,这个函数很简单,大部分同学应该都会使用,我们来简单介绍一下他的基础语法以及以下嵌套
- · IF+比较运算符
- · IF的多级嵌套
- · IF+逻辑函数(and,not,or,Xor)
- · IF+IS系列函数
一、语法
IF有三个参数:
IF(判断条件,条件为真时执行,条件为假时执行)
用一句话表示就是:如果…,那么….,否则…(三个省略号分别代表三个参数)
二、IF函数的常规用法
1.IF+比较运算符
常见的比较运算符有以下五个
- < 小于
- <= 小于等于
- > 大于
- >= 大于等于
- <> 不等于
相信大部分同学都理解他的意思,如果比较关系成立,会返回逻辑值TRUE,在这里就不做过多的赘述了
如下图有一张成绩表,成绩大于90则为优秀,我们需要判断是否优秀,
在E3单元格输入IF(D3>90,"优秀",""),然后填充即可,这是IF函数最基本用法,下面我们来看看多级嵌套用法
2.IF+IF+…
这是一个多级嵌套问题,在这里,我们主要要理清它的层级结构,那么使用它就没什么问题啦。
还是上个题,我们需要判断成绩小于60为不及格,60-70为及格,70-80为中等,80-90为良好,90以上为优秀
在E3输入以下公式:
IF($D3<60,"不及格",IF($D3<70,"及格",IF($D3<80,"中等",IF($D3<90,"良好","优秀"))))
在这里简单解析以下多级嵌套的逻辑问题,如图所示,T代表上级条件结果为TRUE,F代表上级条件结果为FALSE,我们在使用多级IF嵌套的时候,脑补出他的逻辑结构图,就能很好的理解啦。
3.IF+逻辑函数(AND、OR、NOT、XOR)
在我的浅谈逻辑函数文章中,已经介绍过这几个函数(对于此处公式不理解的可以去看看我逻辑函数的那一篇文章),我们知道逻辑函数运算返回出来的是逻辑值TRUE和FALSE即(1和0),在这里可以利用他们的特性,进行多条件运算。
将上一题扩展一下,将一班的优秀成绩的学生找出来,这里有两个条件,且都需要满足,我们用逻辑与AND:F3单元格输入公式如下
IF(AND($C3="一班",$E3="优秀"),"Y","N")
对于逻辑AND,其实我们还可以用 * 代替,上述公式可改为:
IF(($C3="一班")*($E3="优秀"),"Y","N")
再扩展一下,我们需要判断某人成绩是否是及格或者优秀:那么我们可用如下公式,在G3单元格输入:
IF(OR($E3="及格",$E3="优秀"),"Y","N")
对于逻辑OR,其实我们还可以用 + 代替,上述公式可改为:
IF(($E3="及格")+($E3="优秀"),"Y","N")
对于AND与 * ,OR与 +,好好想一下他们的原理吧
如我们需要判断某个人的成绩不是中等的情况,我们可以用If+NOT逻辑非
在H3单元格输入以下公式即可:
IF(NOT($E3="中等"),"Y","N")
如果我们需要判断不是一班的中等学生或者一班的除了中等以外成绩的人,可以采用如下公式:
IF(XOR($C3="一班",$E3="中等"),"Y","N")
4.IF+IS系列
IS系列主要有以下公式,且他们一般与IF结合起来嵌套使用,其实他们很好理解,就按英语直译是不是,主要IS系列函数如下
IS系列函数很简单,在这里我就不多做介绍了,我们只要知道,IS系列的返回值是则返回TRUE,不是则返回FALSE,那么就可以用来当IF函数的第一参数使用
其实,if函数还可以与其他函数进行很复杂的嵌套,以及与数组的结合,后续会写到,这里只是他的基础用法,但我们只要了解了他的基本规则,对于更复杂的嵌套,也就不再难理解。