第9关 逻辑函数

你好,很开心见到你。经过前几关的学习,你已经能够处理90%工作中常遇到的数据处理问题了。

接下来,我们将进入【函数】部分的学习。在函数入门体验课中,我们已经掌握了函数的基本写法和分类,你还记得吗?

还记得你学过的第1个if函数么?我们复习一下:

接下来的学习中,我们将按照五大类型的函数,逐一进行深入的讲解,让大家熟练掌握日常必备函数,轻松完成数据计算与分析!

今天,我们首先来学习函数中最常用的类型——逻辑函数。

什么是逻辑函数呢?

简单的来说,就是根据具体条件作出判断的函数。详细一些说,根据条件判断结果是否成立,来选择性输出不同的格式。我们结合一个案例,体会一下逻辑函数,请你先下载下面的配套练习:

打开案例:【1-逻辑函数初体验】工作表,我们可以看到这是一份学生的成绩表:

表格里【是否需要补考】、【成绩等级】这两列是空白的,接下来我们就尝试运用逻辑函数,将这两列信息快速填充好。

首先,我们来判断【是否需要补考】,低于60分的同学需要补考,而高于或等于60分的同学则无需补考。换做之前,你也许会一个个去看成绩,但在这里,我们不需要,我们写函数公式就能搞定!

来,下面是一串已经写好的公式,请你先双击G2单元格,出现光标后" | ",把公式复制到G2单元格中,然后按【回车键】确认。

=if(and(C2>=60,D2>=60,E2>=60),"通过","补考")

具体操作步骤如下:

在单元格中出现光标后,然后将上面的公式复制到G2单元格中。

可以看到,函数已经帮我们做出了判断:李桂兰同学需要补考!这张成绩表中总共有329名同学,不要手动输入,回忆一下我们入门课学过的批量操作方式:

双击后,329位同学是否需要补考就都判断好了!

接下来,我们来判断各位同学的【成绩等级】。根据学校要求:

总分≥270,成绩等级为A

240≤总分<270,成绩等级为B

180≤总分<240,成绩等级为C

总分<180,成绩等级为D

同样的,下面是已经写好的公式,请你先双击H2单元格中,出现光标后" | ",复制写好的逻辑函数到H2单元格,然后按【回车键】确认。

=if(F2>=270,"A",if(F2>=240,"B",if(F2>=180,"C","D")))

操作完成后,你是否看到李桂兰同学的成绩等级就出来了?同理,出现十字光标后双击,所有同学的成绩等级就都判断出来并填充好了:

通过上一个案例,相信你已经对逻辑函数有了初步了解。下面,我们开始系统学习逻辑函数。

1.基础逻辑函数

逻辑函数又称为布尔函数,也就是根据具体条件作出判断的函数。

在进行逻辑比较的时候,经常需要用到运算符号:“>”、“<”、“>=”、“<=”、“<>”,在入门课程已经讲过运算符号和数学符号略有不同,在日常运用中一定要注意使用excel的运算符:

打开练习题中的【2-初识逻辑函数】工作表,跟着老师的步骤拆解,我们来尝试自己书写逻辑函数:

表格中给出了同学的语文成绩和数学成绩,我们首先来尝试做最简单的逻辑函数:判断对错。如果满足条件就显示TRUE(真),如果不满足条件就显示 FALSE(假)。

这里我们先把条件设置为:成绩>=60,来一起尝试作出E列的判断:先写函数必须的“=”号,然后输入被判断的对象“C2”,最后写上判断的条件”>=60”:

公式写好了,输出了FALSE(假),表示李桂兰同学的语文成绩低于60分。

继续向下填充E列,大部分是TRUE(真),也有少量的 FALSE(假),看来这些同学的语文水平还是普遍不错的!

同理,我们再来吧F列的数学成绩也来判断一下,得出如下结果:

现在,大家已经理解了【逻辑函数】这类根据具体条件作出判断的函数了。接下来我们就来系统学习最常用的3个逻辑函数:and、or、not函数。

“and函数”

“and”顾名思义就是“和”的意思。在Excel的函数里,and函数可以简单的理解为:多个条件共同满足才算成立。

and函数就像一个俏皮的女朋友,你需要达到她提出来的所有要求,才能得到它的认可(输出为:TRUE)。

我们继续结合案例:【2-初识逻辑函数】工作表,来填充G列的内容:

G列的具体条件是【是否两科都及格】,也就是“语文 >=60和数学>=60”这中间的“和”也就是“and”函数!

根据函数书写规则,我们先写上“=”号,然后写上运用到的函数名称“and”,最后在括号里写上具体要求(C2>=60,D2>=60):

在书写函数的过程中,记得所有的标点都需要是英文状态输入的!我们来观察一下,函数公式输入完成后,G2单元格就判断出了李桂兰同学并没有两科都及格。

向下填充公式,果然,只有语文和数学都大于等于60的同学才显示了true,只要有一个不满足,就都false了!

以后,要是再遇到需要多个条件同时满足才算满足的情况,就可以运用and函数啦!

“or函数”

and函数需要所有条件都满足才成立,而or函数就宽松得多,只要有一个条件满足就成立(显示为TRUE)。

我们继续看刚才的案例,判断每位同学是否两科有一科及格,学会书写or函数:具体条件是【语文>=60】或者【数学>=60】,这中间的“或者”也就是“or”函数!

同样的我们先写上“=”号,然后写上运用到的函数名称“or”,最后在括号里写上具体的两个条件(C2>=60,D2>=60):

函数公式输入完成后,H2单元格输出为“TRUE”,说明李桂兰同学虽然语文没及格,但是她数学成绩及格了。双击向下填充看看其他同学是否有一科及格了呢。

“not函数”

接下来我们要认识的是逻辑函数里最奇葩的函数:not函数。

这个not函数就像一个调皮的小孩,最喜欢的就是“说反话”!当逻辑表达式的结果为TRUE(真)时,not函数就跳出来大声说FALSE(假)。当逻辑表达式的结果为FALSE(假)时,not函数就摇头直说TRUE(真)。

你若不信,我们用刚才的表格来认识认识这个“口是心非”的not函数:找到I列,写上“=”号,然后写上not函数的大名“NOT”,最后在括号里写上语文成绩合格的条件(C2>=60):

输入完成,我们一起来看一下结果:

我们输入的条件是语文成绩合格的,可是这里显示的是TRUE!和E列的值刚好相反!果然“说了反话”!

下面我们对基础逻辑函数做个小结,帮你巩固所学:

了解了基础逻辑函数,下面我们升级难度,学习基础函数的嵌套应用:

2.函数嵌套应用

学会了逻辑函数中的and、or、not函数,加上函数入门课学习的if函数,你是否就可以自己写出课程一开始我们复制粘贴的函数公式了呢?

=if(and(C2>=60,D2>=60,E2>=60),"通过","补考")

=if(F2>=270,"A",if(F2>=240,"B",if(F2>=180,"C","D")))

是不是看着有点难?别担心,这其实就是两个函数的嵌套。函数嵌套就是指在一个公式中连接多个函数的做法,专门用来应对实际工作中的复杂需求。

下面,我们先学习if函数的嵌套,老师带你一步步拆解,让你真正学会!

“if函数嵌套”

请你点开案例:附表【3-if嵌套函数】,我们来挨个学习if+and、if+or、if+not函数应用。

“if+and”

首先,我们来判断【是否需要补考】,这里有三门学科,所以只要有一门学科低于60分就需要补考,写出的函数就是: =and(C2>=60,D2>=60,E2>=60)

按回车键,单元格输出结果是FALSE。

可是题目里问的是【是否需要补考】,所以单元格里呈现的答案应该是"通过"或"补考",这就需要用到if函数对and(C2>=60,D2>=60,E2>=60)输出的结果进行判断。

所以我们最后得出的函数是:=if(and(C2>=60,D2>=60,E2>=60),"通过","补考")。具体函数拆解过程如下:

现在向下填充G列,单元格显示出来的就是我们想要的"通过","补考"了。

“if+or”

再来判断H列【是否有单科满分】,满分为100分,这里一共有三个科目,我们就可以用or函数找出有单科满分的人: =or(C2=100,D2=100,E2=100)

输出的结果还是FALSE,同样的要用到if函数嵌套:=if(or(C2=100,D2=100,E2=100),"满分","无")。具体函数拆解过程如下:

“if+not”

用or函数和if函数的嵌套我们找出了有单科满分的同学,接下来,我们来给总分满300分,颁发2000元奖学金。这里我们需要用到not函数:=not(F2=300)。

用if函数嵌套not函数,写出函数:=if(not(F2=300),0,2000),具体函数拆解过程如下:

在实际应用中,我们可以直接用if函数“=if(F2=300,2000,0)”进行判断,会更简单且易于理解,课程里用not函数是为了举例说明嵌套函数的应用。

“多重嵌套函数”

多重嵌套函数的理解并不难,下面老师带你一步步写出多重嵌套函数:

找到附表【3-if嵌套函数】中J列,我们来判断每位学生的【成绩等级】。

学校的成绩等级要求如下:

总分≥270,成绩等级为A

240≤总分<270,成绩等级为B

180≤总分<240,成绩等级为C

总分<180,成绩等级为D

我们把这个成绩等级的判断逻辑,按从高分到低分的顺序可以拆解成如下示意图:

接下来,我们就根据上面的判断逻辑写出多重函数来!先把函数编辑栏调大,保证有足够的空间来写,如下图:

我们先把A等级的条件写下来:J2单元格输入=if(F2>=270,"A",),在最后一个逗号和括弧中间点击一下,然后按然后按【Alt+Enter】键强制换行。准备补充上其他等级的条件:

这里可以直接复制粘贴=if(F2>=270,"A",), 比一个个手写快,然后进行调整:

紧接着我们按照每个等级不同的条件来修改if函数表达式,尤其要注意加上括号,使函数完整起来:

你写出来了吗?快来对比一下输出的结果吧:

通过案例的实操,相信同学们已经掌握了函数嵌套的方法,再遇到复杂的逻辑问题,不用担心,按照我们刚才的方法一步步进行拆解,分析清楚以后再逐个组合起来,再复杂的函数就都不用担心了!

学完了嵌套函数,我们要学习单元格引用,学会这节,会大大降低使用函数时的出错率,从而提升效率!

3.单元格引用

什么是单元格引用呢?

Excel的函数有一个很重要的特点就是【填充】,在填充的时候如果引用的单元格或区域的行标或列标都发生了变化称为“相对引用”。

在excel中有三种引用方式:相对引用、绝对引用和混合引用。理解这三种引用方式是学好函数的基础,而理解美元符号($)是学好引用的基础。

如果你没看懂,也别着急。下面,老师就带你通过案例来区分这3个引用。

“相对引用”

所谓相对引用,就是完成一个单元格计算,批量下拉填充时,公式计算所使用的行列都会改变。具体根据一个案例说明:

打开案例:学生成绩3【4-相对引用和绝对引用】工作表,我们先来尝试进行相对引用。这里我们来计算英语考试总分:选中D4单元格 =B4+C4

同理填充出下面同学的总分,这就是相对引用。每一行计算的总分,引用的单元格都在变化,但相对位置不变。在前面我们写出的所有函数都属于相对引用。

“绝对引用”

绝对引用区别于相对引用。所引用的单元格行列都不改变,具体参照下方案例来理解:

接下来我们再来把总分转化为10分数制:E4单元格 =D4/B1

输出正常,可是往下拉的时候就出现了如下的问题:

要想这里不出错,我们需要先锁定B1单元格,怎么锁定呢?只需要在函数公式B1的行标和列标前分别加上一个美元符号($):“$B$1”。

我们来尝试一下在E4单元格输入=D4/$B$1

这样,输出的函数再进行下拉就不会出错了!在换算为十分制的计算中,使用的分母都是B1单元格,固定不变,因此是绝对引用。在日常工作中要懂得区分相对和绝对引用。

“混合引用”

所谓混合引用,就是既包含了相对引用,也包含了绝对引用。我们同样通过实操下方的案例来理解:

我们来算出【口语得分得分占比】和【笔试得分占比】:首先在F4单元格填入 =B4/D4,算出【口语得分得分占比】。

下拉,所有人的【口语得分得分占比】都准确的算出来了。

那既然下拉十字光标可以把F4单元格的函数进行相对引用,那我们是不是也可以把十字光标往右拖拽得出【笔试得分占比】呢?来尝试一下:

输出的内容显然是不对的,观察一下G4单元格的函数,哦,这里本来应该是C4单元格/D4单元格,而目前显示的却是C4/E4。

怎么办?我们可以利用刚刚学到的绝对引用,锁定D4单元格。F4单元格 =B4/$D$4

向右填充G4单元格=C4/$D$4,数据就正确了:

但是G列继续向下进行填充,F5单元格显示的函数为=B5/$D$4,得出的数据又有问题了:

这是因为我们上一步把行和列都锁定了,而这里需要的是:只锁定列,不锁定行。所以F4单元格应该输入为 =B4/$D4:

填充好以后,向右填充再向下填充就正确啦!你是否完成了如下效果?

最后,我们把【口语得分占比】和【笔试得分占比】的数字格式换成【百分比】形式就可以了:

你是否调整成了如下的效果呢?

下面,我们对本节的课程进行一个总结,帮你巩固所学:

首先,我们了解了基础逻辑函数的作用和分类,并熟悉使用了and、or、not函数。

然后,我们学习了嵌套函数,重点学习了多条件下的if嵌套函数,完成了又一个长函数的突破!

恭喜你完成了本关的学习,学到这里,你已经掌握了基础的逻辑函数、嵌套函数和单元格引用常识。最重要的是,你敢于写函数来解决问题,这将稳步提升你的工作效率!

4.下关预告

下一关,我们要学习的是第10关-统计函数,这是日常应用非常广泛的函数,公司要计算销售总额、财务要做报表、hr给员工发工资、销售统计产品营业额,都需要它!搞定它,基本搞定了Excel的计算与统计!

下载表格

第9关-9-企业管理实用表格模板50例

results matching ""

    No results matching ""