理论概念

函数释义:

IF:条件选择函数,一般是指程序设计或Excel等软件中的条件函数,根据指定的条件来判断其“真”(TRUE)、“假”(FALSE),根据逻辑计算的真假值,从而返回相应的内容。

IF函数格式:IF(logical_test,value_if_true,value_if_false)

logical_test为逻辑表达式

value_if_true,逻辑表达式为“真”(TRUE)的返回值

value_if_false,逻辑表达式为“假”(FALSE)的返回值

课程精要

go func 内嵌go func 内嵌if函数_嵌套

IF函数用法

  1. IF函数常规用法:条件选择

=IF(B4>=4000,"返利","不返利")

go func 内嵌go func 内嵌if函数_逻辑值_02

  1. IF函数多层嵌套用法:(双条件分坎级返利计算)

这样看起来是不是很崩溃

=IF(AND(B7<4000,C7<1),0,IF(OR(AND(B7>=4000,B7<7000,C7<1),AND(B7<4000,C7>=1,C7<1.05)),0.5,IF(AND(B7>=4000,B7<7000,C7>=1,C7<1.05),0.8,IF(OR(AND(B7>=7000,C7<1),AND(B7<4000,C7>=1.05)),1,IF(OR(AND(B7>=7000,C7>=1,C7<1.05),AND(B7>=4000,B7<7000,C7>=1.05)),1.5,IF(AND(B7>=7000,C7>=1.05),3,"错误"))))))

go func 内嵌go func 内嵌if函数_嵌套_03

或者分行写如下:

=IF(AND(B4<4000,C4<1),0,

IF(OR(AND(B4>=4000,B4<7000,C4<1),AND(B4<4000,C4>=1,C4<1.05)),0.5,

IF(AND(B4>=4000,B4<7000,C4>=1,C4<1.05),0.8,

IF(OR(AND(B4>=7000,C4<1),AND(B4<4000,C4>=1.05)),1,

IF(OR(AND(B4>=7000,C4>=1,C4<1.05),AND(B4>=4000,B4<7000,C4>=1.05)),1.5,

IF(AND(B4>=7000,C4>=1.05),3,"错误")

)))))

go func 内嵌go func 内嵌if函数_嵌套_04

go func 内嵌go func 内嵌if函数_go func 内嵌go func_05

解析:

  1. 公式中的6种颜色涂色的条件部分,与上图产品返利值的定义域一一对应
  2. AND逻辑函数,所有参数的逻辑值为真时,返回TRUE;只要有一个参数的逻辑值为假,即返回 FALSE。用比较通俗的话来说,就是做多选题,必须所有选项都符合才是对(true),否则就是错(false)
  3. OR逻辑函数,在其参数组中,任何一个参数逻辑值为 TRUE,即返回 TRUE;所有参数的逻辑值为 FALSE,才返回 FALSE。

注意注意 注意!!!

Excel中不能用连续式逻辑表达式如:

4000<=B4<7000错误写法,只能写作:AND(B4>=4000,B4<7000)

这个题目确实有点复杂,也最具有IF嵌套的代表性,大家要好好研究透彻

  1. INDEXIF函数嵌套:双条件分坎级返利计算

=INDEX($H$5:$J$7,IF(B4<4000,1,IF(B4<7000,2,3)),IF(C4<1,1,IF(C4<1.05,2,3)))

go func 内嵌go func 内嵌if函数_嵌套_06

注:INDEX索引函数(返回指定位置中的内容)格式如下:(上节中我们已经详细讲过)  

INDEX(array,row-num,column-num)  

INDEX(区域,返回值所在的行号,返回值所在的列号)

array:要返回值的单元格区域或数组;row-num:返回值所在的行号;column-num:返回值所在的列号。

解析:

=INDEX($H$5:$J$7,IF(B4<4000,1,IF(B4<7000,2,3)),IF(C4<1,1,IF(C4<1.05,2,3)))

$H$5:$J$7要返回值的单元格区域

IF(B4<4000,1,IF(B4<7000,2,3))返回值所在的行号

IF(C4<1,1,IF(C4<1.05,2,3))返回值所在的列号

总结:INDEXIF函数嵌套解决同样的问题,公式却简单了很多,这里只用了IF函数两层嵌套。