这么长的IF公式,优化后竟然这么简洁易懂,你的公式暴露了你的Excel水平

2019-03-13 10:07:56 0 0

现在有免费的精英会计交流群,每天前150名进群免费,与众多优秀财务人一起讨论业务、交朋友!进群加微信号kjsc022


IF函数相信大多数的小伙伴们已经对于这个函数使用的比VLOOKUP函数还顺当吧,但是有一类问题呢,相当大家会经常遇到,那就是多重条件判断的问题。下面就是几个例子,与你的公式相比较你觉得那一个更加地清楚。


01

等级判断


下面是一张年度评比考核的成绩表,现在要求评比出各个分数段的等级。

从上面的图中可以看出,有很多个多重条件,上面的图中使用了IF函数:

=IF(F2>=120,"A",IF(F2>=100,"B",IF(F2>=90,"C",IF(F2>=80,"D",IF(F2>=70,"E",IF(F2>=60,"F","G"))))))


使公式变得非常么地长,不易于维护与理解。但是在日常的使用中,并不会直接地写这么长的函数,通常可以使用以下的两种函数:

=LOOKUP(F2,{0,"G";60,"F";70,"E";80,"D";90,"C";100,"B";120,"A"})


或者还可以使用VLOOKUP函数进行判断,如下图所示:

=VLOOKUP(F2,{0,"G";60,"F";70,"E";80,"D";90,"C";100,"B";120,"A"},2,1)


注意:采取上述问题时候一定要分清楚包含与不包含的问题,这样才能确定分隔点,保证公式的准确。



02

简称查全称


下面一个对话记录的表,要求从对话记录中提取关键字来找出对应的部分。


从下图可以看出,使用if函数的时候,十分地麻烦,导致公式繁琐:

=IF(ISNUMBER(FIND("新闻",B2)),"新闻部",IF(ISNUMBER(FIND("市场",B2)),"市场营销部",IF(ISNUMBER(FIND("财务",B2)),"财务部",IF(OR(ISNUMBER(FIND("人资",B2)),ISNUMBER(FIND("HR",B2))),"人资部",IF(OR(ISNUMBER(FIND("技术",B2)),ISNUMBER(FIND("IT",B2))),"信息部")))))


这样长的公式在实际的案例中是非常地不可取的,所以可以采用下面的公式:

=LOOKUP(9^9,FIND($F$3:$F$9,B2),$G$3:$G$9)


注意:这里的9^9表示很大的一个数,可以其他的数字,在使用的时候只要记住这个套路即可。



03

多条件任意搭配判断


如下图所示,是一个年终考核的成绩表,共有三个科目,要求是三个科目中有任意两个科目的成绩大于等于80,就可以增加500元。


使用IF函数进行正常的判断的时候,公式为:

=IF(OR(AND(C2>=80,D2>=80),AND(C2>=80,E2>=80),AND(D2>=80,E2>=80)),500,0)


如果使用简化的公式可以写成:=(COUNTIF(C2:E2,">=80")>=2)*500


注意:这个有条件会返回TRUE或FALSE,在计算的时候TRUE或FALSE这两个逻辑值会与数值1与0进行互换运算。TRUE=1,FALSE=0.


像这样的问题还有很多,大家只有熟练地使用函数才做到融会贯通,手到擒来。想要练手的小伙伴们可将下面的链接复制到浏览器中就可以下载。


现在有免费的精英会计交流群,每天前150名进群免费,与众多优秀财务人一起讨论业务、交朋友!进群加微信号kjsc022


来源:24财务excel,作者:小必