(一)函数语法
=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函数,而使用其他函数来代替。
计算结果如下:
再次提醒大家,此函数为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)
计算结果如下:
再次提醒大家,此函数为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)
计算结果如下:
联系客服