各位用户为了找寻关于朋友,这些问题就别再用IF函数了……的资料费劲了很多周折。这里教程网为您整理了关于朋友,这些问题就别再用IF函数了……的相关资料,仅供查阅,以下为您介绍关于朋友,这些问题就别再用IF函数了……的详细内容
如果谈起Excel里最先被大家所认识和熟悉的函数,大概也就是IF、SUM和VLOOKUP这三家伙了,其中IF函数作为条件判断函数,简单又实用,不但职场常用,也是Office等级考试必考。
在工作和学习中,也许有很多表格问题你已习惯了使用IF函数,但有时候IF函数并不是最适用的,特别是嵌套多层的情况下,比如=if(if(if(if),if(),if()))),自己都能把自己绕晕了不是?坦白的说,当嵌套层次超过3层,If函数就应该被其它函数替代了。
跟我来,给您表演举几个例子……
案例1
连续区间判断
每当Office二级考试来临的那段时间,总有很多学生跑来问星光下面这样类似的问题。
你看,虽然这是一个条件判断问题,但也是一个条件查询问题呢,所以……试试条件查询大神VLOOKUP函数吧……
=VLOOKUP(A2,{“看见星光”,”男孩”;”大红花”,”女孩”;”芬子”,”乖乖女”;”随风”,”小正太”;”萧才人”,”淑女”},2,0)
如果你原意建立一个匹配表,公式会更加简单。
根据E:G列的计算规则,对B列的编号划分班级。例如0-100之间为1班,200-300为2班,500-600之间为3班……但如果编号不在规则范围内,例如102,则返回“界外”。
嗯,IF函数……大概是这样的……
=IF((B2>=E$2)*(B$2<=f$2),g$2,if((b2>=E$3)*(B$2<=f$3),g$3,if((b2>=E$4)*(B$2<=f$4),g$4,if((b2>=E$5)*(B$2<=f$5),g$5,if((b2>=E$6)*(B$2<=F$6),G$6,”界外”)))))
听说公式写的越长越复杂水平越流弊?呵呵哒,谁信谁年轻。
其实公式可以很简单的:
=IFERROR(LOOKUP(1,0/((B2>=E$2:E$6)*(B2<=F$2:F$6)),G$2:G$6),”界外”)
LOOKUP(1,0/查询条件,查询结果)是函数中经典的条件查询套路,常用于多条件查询;本例中当该公式查无结果时,使用IFERROR返回指定结果:界外。
(B2>=E$2:E$6)*(B2<=F$2:F$6)是条件,当查找值既大于等于E列的值,又小于等于F列的值时,说明它处在正确的区间内,会返回True,相反则返回逻辑值False
0/True等同0/1,结果返回0,0/False等同0/0,结果返回错误值。
LOOKUP忽略错误值,查找值1比查找范围内所有的0都大,因而返回最后一个0所对应的结果,也就是目标班级。
思考时间
▼
第3个案例为什么不能直接使用例子1的LOOKUP模糊查询套路?