分享

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

 L罗乐 2019-03-12

本文转载自公众号:Excel聚焦,作者:小必。

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.

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多