条件函数IF、IFS、SWITCH详解

发布时间:2021-05-27 Excel函数大全

在Excel当中,最常用的条件判断函数是IF函数,其次,在Excel2016版本中,又新增了两个函数IFS和SWITCH,在实现条件判断的过程中会更加方便,但是需要将Excel升级到2016版,之前的版本无法使用。

一、IF函数

(一)函数语法

=IF(logical_test,value_if_true,value_if_false)

参数解释:

1.Logical_test 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。逻辑值在前两篇文章中已经详细介绍,不清楚的请翻看前两篇文章。

2. Value_if_true 当logical_test 为 TRUE 时返回的值。

3. Value_if_false 当logical_test 为 FALSE 时返回的值。

(二)函数嵌套

在EXCEL2003中IF函数可以嵌套7层,在EXCEL2007及以后版本中可以嵌套64层,用 value_if_false 及 value_if_true 参数可以构造复杂的检测条件。

但是当嵌套层数过多以后,IF函数的可理解性会变差,建议当IF函数的嵌套层数过多时,选用其他的函数代替。

(三)应用实例

下面以个人所得税的计算为例,来加深大家对IF函数的理解。个人所得税的计算方法为:应纳个人所得税税额= (工资-个税起征点)× 适用税率- 速算扣除数,扣除标准为3500元/月。

计算公式为:=IF((B2-3500)>80000,(B2-3500)*0.45-13505,IF((B2-3500)>55000,(B2-3500)*0.35-5505,IF((B2-3500)>35000,(B2-3500)*0.3-2755,IF((B2-3500)>9000,(B2-3500)*0.25-1005,IF((B2-3500)>4500,(B2-3500)*0.2-555,IF((B2-3500)>1500,(B2-3500)*0.1-105,IF((B2-3500)>0,(B2-3500)*0.03,0)))))))

通过这个公式,大家应该可以发现看起来已经很吃力了,所以建议当嵌套层数比较多时尽量避免使用IF函数,而使用其他函数来代替。

计算结果如下:

二、IFS函数

再次提醒大家,此函数为Excel2016版新增的函数。

(一)函数语法

=IFS(Logical_test1, value_if_true1……Logical_test127, value_if_true127)

参数解释:

Logical_test1-127 表示计算结果为 TRUE 或 FALSE 的任意值或表达式。

value_if_true1-127 当Logical_test 为 TRUE 时返回的值

IFS函数总共支持127个条件判断,可以简化if函数的多层嵌套问题。

(二)应用实例

同样需要实现第一条中的个人所得税的计算,本实例中使用IFS函数来实现,可以变得简洁很多。

公式:=IFS((B2-3500)>80000,(B2-3500)*0.45-13505,(B2-3500)>55000,(B2-3500)*0.35-5505,(B2-3500)>35000,(B2-3500)*0.3-2755,(B2-3500)>9000,(B2-3500)*0.25-1005,(B2-3500)>4500,(B2-3500)*0.2-555,(B2-3500)>1500,(B2-3500)*0.1-105,(B2-3500)>0,(B2-3500)*0.03,(B2-3500)<0,0)

计算结果如下:

三、SWITCH函数

再次提醒大家,此函数为Excel2016版新增的函数。

(一)函数语法

=SWITCH(expression,value1,result1,……, value126,result126)

参数解释:

expression 要计算的表达式。

Value1-value126 要与表达式进行比较的值

Result1-result126 是在对应值与表达式匹配时的返回值

SWITCH函数最多支持254个参数,所以最多可以使用126对值及结果。

(二)应用实例

在混凝土结构设计中,需要根据不同的混凝土等级来查询其对应的抗拉强度设计值,其对应关系如下表所示,根据某一给定的混凝土等级,求出其抗拉强度设计值。

公式:=SWITCH(B5,"C20",1.1,"C25",1.27,"C30",1.43,"C35",1.57,,"C40",1.71,,"C45",1.8,"C50",1.189,"C55",1.96)

计算结果如下: