如下图所示,需要判断D列的成绩是否及格,E2单元格公式如下:
所谓或关系,是指所有逻辑关系中,任意一个成立,结果即为真的关系。这就好比,某个外号行长的学员经常吹牛说他曾经有10个女朋友,虽然事实上其中9个是假的,但只要其中有一个是真的,都可以证明……他曾经确实有过女朋友。
如下图所示,需要在F列判断是否优秀生。优秀生的标准是语文或者数学的成绩大于85分。
=IF(OR(D2>85,E2>85),"优秀","")
又或者使用加法运算代替OR函数:
=IF((D2>85)+(E2>85),"优秀","")
所谓并且关系,是指所有逻辑关系中,必须全部成立,结果才为真的关系。这就好比,某个外号五工的男学员经常吹牛说他曾经有10个男朋友,虽然确实有几个是真的,但只要其中有一个是假的,都可以证明……他说谎了。
如下图所示,需要在F列判断是否优秀生。优秀生的标准是语文和数学的成绩都大于85分。
=IF(AND(D2>85,E2>85),"优秀","")
又或者使用乘法运算代替AND函数:
=IF((D2>85)*(E2>85),"优秀","")
如下图所示,需要根据D列的成绩,在F列计算学生的等级。等级标准是,大于等于85分为优秀,大于等于60是及格,小于60是不及格。
=IF(D2>=85,"优秀生",
IF(D2>=60,"及格","不及格"))
这里需要注意的是,当多层判断嵌套的IF函数超过3层时,通常而言,IF函数就可以被其它函数代替了。
如下图所示,需要根据B列的性别和C列的年龄,在D列判断是否应该退休。退休的标准是男性大于等于60岁,或者,女性大于等于55岁。
=IF(
OR(
AND(B2="男",C2>=60),
AND(B2="女",C2>=55)
),
"退休","")
公式用两个AND分别判断男性或者女性的退休标准,只要其中一个满足条件(OR)则返回退休,否则返回假空。
=IF(C2>=IF(B2="男",60,55),"退休","")
当IF函数返回的结果是单元格区域时,属于引用性质。这时,它可以嵌套在要求参数必须是引用的函数中,比如COUNTIF/OFFSET等,又或者,用于定义名称中制作动态图表。
如下图所示,A:C是数据源,需要据此制作右图所示的动态图表,根据F1单元格选择的季度,展示对应的商品销量。
定义一个名字为数据的工作簿级别的名称,来源公式如下:
=IF($F$1="一季度",$C$3:$C$6,$C$11:$C$14)
再将柱形图系列值设置为以下即可。
看到这儿,看我冷漠的小眼神,大部分朋友就可以随时准备跳转文末点个赞退场了。
=TOCOL(IF({1,1,1},A2:A5))
假设3:我需要将姓名横向重复2次,同时,特长重复1次。
在以上各个IF公式中,第1参数都是由1和0组成的常量数组。在往期推文0和1里,咱们学过,1表示真,0表示假,IF函数就据此返回表示真的第2参数、表示假的第3参数。
这些看起来好像没什么用的技巧究竟有什么用呢?我再举两个小栗子。
这个例子看起来有用实际上也没用但有些朋友应该是比较熟悉的。
如下图所示,A:B是数据源,需要在E列查询D列人名对应的特长。
=VLOOKUP(D2,
IF({0,1},A$2:A$5,B$2:B$5),
2,0)
这里就借助了IF函数数组拓展的技巧,将A列和B列数据颠倒了顺序,以适应VLOOKUP要求查找值必须在查找范围首列的强规则。