同一列不同值的IF函数?

小伙伴们好啊,今天咱们一起来认识IF函数。

这个函数的作用是对指定条件进行判断,然后根据判断结果返回不同的内容,常用写法是这样的:

就相当于是:如果……,那么……,否则……

第一个参数,用大于、小于、等于等形式,来判断某个条件是否成立,判断A2单元格的数值是否大于60,B2单元格的职务是否等于“经理秘书”等等,判断的结果是逻辑值TRUE(条件成立)或是FALSE(条件不成立)。

第二个参数是在条件成立时返回的内容, 可以是一个数字、一段字符,或者是一段其他的公式

第三个参数是在条件不成立时返回的内容,也可以是数字、字符或是一段其他的公式。

要对B2单元格中的分数进行判断,大于60为“合格”,否则为“不合格”。

咱们就可以使用下面这个公式:

注意,在公式中直接返回字符时,需要在字符前后加上一对半角的双引号。

如果B2大于60,B2>60部分返回逻辑值TRUE,IF函数返回第二参数指定的字符“合格”,否则返回第三参数指定的字符“不合格”。

刚刚这个是单个条件的判断,使用IF函数还能完成多个条件的判断。

如下图,要对B列的职务进行判断,如果等于“秘书”,那么补助为1000。如果不等于“秘书”,再继续判断,如果等于“助理”,那么补助为800,否则为0。

前面咱们说过,IF函数的第二参数和第三参数,可以是数值、文字,也可以是一段其他的公式。

这里咱们就要将IF函数的第三参数也写成一段新的IF函数,实现对B列的职务执行两次判断。

最外层的IF函数先判断 B2="秘书" 的返回结果是不是TRUE,如果是TRUE,就返回第二参数指定的数值1000。

如果B2不等于秘书,“ B2="秘书"”得到FALSE,IF函数返回第三参数的内容。

哪些才是最外层这个IF函数的第三参数呢?

在“ B2="秘书"”的判断结果为FALSE时,标记颜色的这部分开始干活了,先来判断“B2="助理"”的条件是否成立,如果这部分条件判断返回的是TRUE,则返回里面这个IF函数的第二参数800,否则返回里面这个IF函数的第三参数0。

计算过程大致是这样的:

接下来咱们再来看看多列条件的判断。

如下图,如果B列的岗位是秘书, 并且C列的入职年限大于1,则补助1000元,否则补助为0。

这里要同时判断两列条件是不是符合,IF函数功力有限,需要请天山二佬——AND和OR函数来帮忙。

AND函数和OR函数都是对多个参数返回的逻辑值执行判断。

当所有参数返回的逻辑值都为TRUE时,AND函数才返回TRUE。

而OR函数则是在任意一个参数返回的逻辑值为TRUE时,就返回逻辑值TRUE。

就像下图中,4个护士(参数)分别判断血常规正常吗?心电图正常吗?肝功正常吗?B超正常吗?

当每个护士(参数)的判断都是TRUE时,AND医生最终才会下检查结论:OK(TRUE),正常。

下图中,4个护士(参数)分别判断血常规有问题吗?心电图有问题吗?肝功有问题吗?B超有问题吗?

当任意一位护士(参数)的判断是TRUE时,OR医生就会下检查结论:OK(TRUE),办理住院手续吧。

回到开始的问题,咱们要对岗位和入职年限两个条件进行判断,只有当 岗位=“秘书”的判断结果为TRUE,并且 入职年限>1 的判断结果也为TURE,才返回补助1000元,这里要用哪个医生呢?对了,就是AND。

D2单元格输入以下公式,向下复制到D8。

以D2单元格中的公式为例, B2="秘书"返回的结果是FALSE, C2>1返回的结果是TRUE,AND函数最终返回FALSE。IF函数根据AND函数的结果为依据进一步进行判断,最终返回第三参数0。

假如咱们换一个判断标准,如果 岗位=“秘书”或者入职年限>1,就给1000元的补助,只有两项都不符合,补助才是0。

这里的判断要求是多个条件符合其一,只要把上面公式中的AND换成OR就可以。

以D2单元格中的公式为例, B2="秘书"返回的结果是FALSE, C2>1返回的结果是TRUE,OR函数最终返回FALSE。IF函数根据OR函数的结果为依据进一步进行判断,最终返回第二参数1000。

再来说说按多个范围区间判断的问题。

如下图,要根据B列的月收入进行判断。

月收入低于10000为贫困型;

月收入大于50000为小康型。

这里要对B列的数值进行多轮判断,就要用到多个IF函数的嵌套了。

咱们先把前面的判断标准整理一下,先判断B2是否小于10000,条件成立返回“贫困型”;如果B2不小于10000,那就继续判断B2是否小于50000,条件成立返回“温饱型”;如果条件仍然不成立,就是 月收入大于50000的那些了,返回“小康型”。

把上面这几句话换成IF函数的组合,是这样的:

其中红色部分的IF函数,就是前面这个IF函数的第三参数。先判断蓝色部分的条件,蓝色部分的条件不成立时,再判断红色部分。

执行多区间判断时, 有一点需要特别注意:前面的判断条件不能包含后面的判断条件

如果将公式写成下面这样,再看看结果,那就全部脱贫了。

为什么出现这种情况呢?

以B3单元格为例,如果先判断2500<50000, 条件肯定是成立的,这时候IF函数返回第二参数“温饱型”,后面的就不再判断啦。

刚刚咱们是从第一节车厢开始往后找的,其实也可以从最后一节车厢往前找。

下面这个公式,就是先从最高的标准开始判断,然后逐级向下。

最后再补充一个小伙伴们经常容易出问题的地方,比如要判断B2的数值是否在10000至50000之间,符合条件返回“温饱型”,不符合条件则返回"待考察"。

下面这个公式结果显然是不对的:

其实这不怪IF,是咱们的写法有问题了。

先判断 10000<B2,结果得到逻辑值TRUE,然后再使用TRUE与50000进行比较。根据Excel中的潜规则,逻辑值是大于任何数值的,所以这一步就会返回逻辑值FALSE,而IF函数也最终返回第三参数的内容了。

正确的公式应该是这样的:

好了,关于IF函数的内容今天咱们就介绍这些,祝各位小伙伴一天好心情!

}


今天,我给大家分享一个超级实用的Excel使用技巧—快速查找两列数据或两个表格的不同之处。在日常工作中,经常需要我们核对两列数据或两个表格哪些地方存在不同,要找到它们并且标注出来。如果用肉眼看的话,效率慢不说还可能会出错。那么,如何快速有效地进行查找呢,请往下看。

本文分享了4种查找两列、两行或两个表相应单元格不同数值的方法。

1.使用定位功能查找标注

定位—行(列)内容单元格差异

2. 使用条件格式查找标注

条件格式—新建规则—使用公式要确认格式的单元格—输入"=B2<>A2"—设置格式填充红色

上面公式的意思是:如果B列的数据不等于A列,则B列填充为红色。当修改数据为相等后,填充色会自动消失。

大家可能对条件格式不太了解,我打算在后面专门写一期讲条件格式的内容,尽请关注。

条件格式查找两行不同值动态图

使用条件格式不仅可以查找两列或两行,还可以查找两个表中的不同值,动态操作图见下图:

条件格式查找两个表不同值动态图

在右侧单元格输入:=IF(A2=B2,"相同","不同")。这种方式也能查找出两列的不同值,只是要标注出来的话没有前两种方法方便。

4. 使用"选择性粘贴—减"查找不同值

两列数据相减后为0的单元格即相同,不为0则不同。具体操作见下图:

选择性粘贴-减查找不同值

}

我要回帖

更多关于 excel在某一列中查找特定值 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信