IF函数和IFS函数的应用对比

彭怀文

一、IF函数

IF在英文中含义就是“如果”。很多人记不住函数就是因为函数名称太长,而IF函数只有两个英文字母而被大家所熟记,因此也成了最常用函数的之一。

(一)语法

IF(判断条件,判断结果为是的值,判断结果为否的值)

说明:

当“判断条件”的判断结果为“是(TRUE)”时,将返回第一个参数值;当“判断条件”的判断结果为“否(FALSE)”时,将返回第二个参数值。第二个参数值也可以继续是判断条件,因此就构成了嵌套函数。

Excel2003版本及以下可以由7层嵌套;Excel2007、2010及以上版本IF函数有了增强,可以超过7层嵌套(最多达到64层)。

因此,IF函数通俗解释就是:如果怎么怎么,就怎么着,否则又怎么着!如果用二丫图形来表示就更加清楚了:如图-1

IF函数逻辑示意图

图-1

IF函数首先从第一个“条件1”开始判断,满足判断条件就返回“结果1”;否则就进入下一个“条件2”继续进行判断,满足判断条件则返回“结果2”;以此类推。

我们在应用判断条件时,一定要注意逻辑关系,千万不能逻辑混乱,否则IF函数也会无能为力的。假如我们在以数字大小作为判断条件时,比如计算个人所得税时以应税所得大小作为判断条件来确定税率,我们要么按照应税所得额从小到大进行判断,要么从大到小进行判断,必须依序进行判断。在同一个函数公式不能一会儿是判断大,一会儿又是判断小,或者都是判断小的时候又有次序混乱都是不行的。

还有,我们作为判断的条件,一定是“非此即彼”,结果只能“是”或“否”,要么是“朋友”,否则只能是“敌人”。

(二)应用举例

假如人力资源部要根据员工的绩效考核得分评出ABCDE五个等级,评定标准如下:如图-2

图-2

该问题就是属于比较典型逻辑判断问题,使用IF函数是非常合适的,当然其他函数也是可以。假如学生成绩如下图-3(部分):

图-3

我们前面讲过,逻辑判断要么从大到小,要么从小到大,我们现在就用两种方法试试。

1.从小到大

我们需要在单元格D2输入如下函数公式:

=IF(C2<60,"E",IF(C2<70,"D",IF(C2<80,"C",IF(C2<90,"B","A"))))

然后进行批量填充。

由于ABCDE属于文本格式,故需要使用英文状态下的双引号””将其“包裹”一下。

大家可以看看,该公式中判断顺序是不是从小到大依次序进行判断的呢?大家在使用时一定要注意这个次序问题。

2.从大到小

同样,我们需要在单元格D2输入如下函数公式:

=IF(C2>=90,"A",IF(C2>=80,"B",IF(C2>=70,"C",IF(C2>=60,"D","E"))))

大家可以比较一下两个函数公式的区别,特别注意一下从大到小的函数公式中判断时多出了“=”,想想为什么。大家最好把该案例在Excel中连续做几次,两种方式都练习,这样就很快掌握了IF函数。IF函数在财务上用处非常多,财务人员一定要熟练掌握,比如个人所得税计算。

二、IFS函数

IF虽然可以对比较复杂的问题进行判断,但是必须使用嵌套,有时候显得非常的复杂。因此,Excel新版本(Excel for Office 365 、Excel for Office 365 for Mac 、Excel 网页版 、Excel 2019、 Excel 2019 for Mac)中就新增了IFS函数。

IFS 函数检查是否满足一个或多个条件,且返回符合第一个 TRUE 条件的值。 IFS 可以取代多个嵌套 IF 语句,并且有多个条件时更方便阅读。

(一)语法

IFS函数的语法更简单!

通常情况下,IFS 函数的语法如下:

IFS([Something is True1, Value if True1,Something is True2,Value if True2,Something is True3,Value if True3)

通俗说法:IFS(条件1,结果1,条件2,结果2,条件3,结果3,……)

注意,若要指定默认结果,请对最后一个 logical_test 参数输入 TRUE。 如果不满足其他任何条件,则将返回相应值。

请注意,IFS 函数允许测试最多 127 个不同的条件。 但不建议在 IF 或 IFS 语句中嵌套过多条件。 这是因为多个条件需要按正确顺序输入,并且可能非常难构建、测试和更新。

(二)应用举例

同样用前面的图-2和图-3来举例,我们可以把IF函数更换为IFS函数。

与IF函数一样,在适用IFS函数的时候同样需要注意逻辑顺序,不能出现逻辑混乱,简单的说要么从小到大,要么从大到小。

1.从小到大

我们需要在单元格D2输入如下函数公式:

=IFS(C2<60,"E",C2<70,"D",C2<80,"C",C2<90,"B",TRUE,"A")

然后进行批量向下填充。

大家可以看看,该公式中判断顺序是不是从小到大依次序进行判断的呢?大家在使用时一定要注意这个次序问题。

2.从大到小

同样,我们需要在单元格D2输入如下函数公式:

=IFS(C2>=90,"A", C2>=80,"B",C2>=70,"C",C2>=60,"D", TRUE,"E")

通过上述案例,我们可以发现:与IF函数相比,IFS函数不需要嵌套那么多层,就可以把诸多条件和结果给判断出来,显得更加的简捷和更加容易理解。

c if语句多个条件判断顺序_IF函数和IFS函数的应用对比相关推荐

  1. c if语句多个条件判断顺序_Java中的流程控制语句 (基础篇四)

    流程控制就是对事物次序的布置和安排,在程序中就是对代码执行次序的安排和控制 程序中的流程控制主要有三种:顺序流程.选择流程.循环流程. 顺序流程:比如打印输出的代码按照指定的顺序结构依次排序,打印的结 ...

  2. 检索数据_8_查询语句里执行条件判断

    查询语句里执行条件判断 需求描述 需求:查询雇员表emp里的员工名称.工资.工资分类状态.这里的工资分类状态按照以下规则显示:如果工资小于等于2000则显示UNDERPAID(即报酬比较低的),如果工 ...

  3. excel if函数 android,Excel函数公式:多条件判断你还在用If函数来实现,那就真的Out了...

    IF函数虽然简单好用,但是如果条件多了,写起来非常的麻烦,而且容易出错,后期也不好维护.如果嵌套次数超过3次,建议选用其他函数替代,例如IFS函数,或Choose函数. 一.需求分析及实现方法. 目的 ...

  4. python条件语句-Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not ...

  5. sql语句 where 后条件执行顺序

    曾经面试时.被问到过这个问题.结合网上的知识,整理如下: 针对mysql,其条件执行顺序是 从左往右,自上而下: 针对orcale,其条件执行顺序是从右往左,自下而上.

  6. c语言 if判断条件语句吗,if条件判断语句,谁能帮我分析一下?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 测试平台是一个stm32f103zet6的ARM芯片, 我这里只是把它当作单片机来用,下面的程序是平台提供的,可以正常使用,有几个地方不能理解! //mo ...

  7. Python中的各种if语句(if条件判断、if...else、if...elif...else、if...else嵌套)

    1. if语句 if 要判断的条件:条件成立的时候做的事情 示例: 示例运行结果: 2. if-else if 要判断的条件:条件成立的时候做的事情else:条件不成立的时候做的事情 示例: 示例运行 ...

  8. Python的return语句中使用条件判断

    if end1 <= val <= end2 or end2 <= val <= end1:return True else:return False 等于 return en ...

  9. continue语句只用于循环语句中_Java之循环语句、条件判断语句(三目运算符)、break、continue...

    之前的内容只是让读者可以定义变量,输出变量等基础功能而已.这远远是不够的,今天,我们学习的内容可以帮你开始完善自己想开发的内容,在这之前我们先理解一个概念:一个表达式的返回值是布尔值的表达式称为布尔 ...

  10. Python编程 条件判断语句

    作者简介:一名在校计算机学生.每天分享Python的学习经验.和学习笔记.   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.条件判断(掌握) 1.条件判断介绍 2. ...

最新文章

  1. java增强型for循环(三种遍历集合方式)
  2. [Luogu P2014]选课 (树形DP)
  3. python一年365天、初始水平值_2020年11月7日,20201107
  4. boost::type_index模块实现一个类型中获得简短的和人类可读的类型名称
  5. Java进阶:java字符串定位语句
  6. 常用 html 标签
  7. VIM使用系列:quickfix功能
  8. 我所想的GIX4的权限
  9. 售前更需要关注客户业务
  10. Java经典设计模式(2):七大结构型模式(附实例和详解)
  11. ezcad2激光打标软件_振镜篇:激光振镜工作原理
  12. 怎么查看ofd格式电子发票? 2种简单方法免费查看
  13. c语言质因数分解算法蓝桥杯,【算法】 蓝桥杯 基础练习 分解质因数
  14. 计算机磁盘检查,使用磁盘检查工具进行硬盘诊断
  15. 新浪20年:独行侠的影响力之路
  16. 旷视科技 CVPR部分文章
  17. iOS-App Logo和闪屏图尺寸
  18. 什么是PWM“死区”
  19. kettle启动 carte
  20. 内网直播局域网直播校园直播播控系统如何建设

热门文章

  1. python用matplotlib画雷达图_Matplotlib绘制雷达图和三维图的示例代码
  2. linux下槽函数的响应时间,Qt信号与槽之connectSlotsByName函数
  3. hibernate 镜像下载_虚拟光驱软件下载手机版-虚拟光驱免费中文版64位下载v5.8.0...
  4. pythonpid传递函数_python实现PID算法及测试的例子
  5. scatter python_Python数据可视化之scatter( )函数
  6. java常见抛出异常
  7. 防火墙阻止tftp_再谈突破TCP-IP过滤/防火墙进入内网(icmp篇)
  8. java泛型要用t,Java泛型中T和問號(通配符)的區別
  9. mybatis单元测试(无需启动容器)
  10. CSDN上传的资源为何不能自定义下载积分?