分享

【Excel公式教程】VLOOKUP的危机……

 Excel学习园地 2023-05-19 发表于甘肃


回复2016获得office2016的下载链接

回复2021获得office2021的安装攻略

(欢迎转发扩散、留言互动和点一下“在看”!)

经常使用Excel的同学们一提到数据匹配就会想到VLOOKUP,因为的确方便。但是对于某些问题,VLOOKUP自己都感觉到了危机的存在,例如下面这个示例。
要按照员工代码或者姓名匹配到对应的销售业绩,使用VLOOKUP的公式是这样的:
=IFERROR(VLOOKUP(E2,A:C,3,0),VLOOKUP(E2,B:C,2,))
公式倒不是很难,相当于先按代码匹配一次,匹配不到的话再按姓名匹配一次,匹配了两次总算还是解决了问题的。
下面针对这个案例,给大家推荐两个不一样的公式,孰优孰劣各位自己感受。

推荐1 MAX+IF组合

公式为=MAX(IF($A$2:$B$29=E2,$C$2:$C$29))
这个公式的套路翻译过来就是=MAX(IF(条件区域=条件,结果区域)),本例中条件区域用了两列,实际上不管几列都是一样的用法。首先使用IF函数在条件区域进行比较,会得到N个逻辑值,N=条件区域的单元格个数。在这些逻辑值中,只有一个是TRUE,其他的都是FALSE。IF会将这些逻辑值与结果区域进行对应,其中只有TRUE对应结果区域中的数据。
然后MAX在这些结果中取最大值就是所需的结果了。
在结果列都是大于零的数字,逻辑值FALSE相当于0,所以都被MAX给干掉了。
从以上解读可以看出这个公式是一个数组公式,非365用户需要按Ctrl、shift和回车输入公式。
相比这个公式还有个更加简单粗暴的方法。

推荐2 直接用SUM搞定

公式为=SUM(($A$2:$B$29=E2)*$C$2:$C$29)
公式套路是=SUM((条件区域=条件)*结果区域)。与上一个套路类似之处在于先用(条件区域=条件)得到N个逻辑值,然后直接用这些逻辑值与结果区域相乘,会将所有不满足条件的都变成0,只有一个是实际业绩数据,然后将这些结果相加得到最终结果。
这同样是一个数组公式,如果不想三键的话,将SUM换成SUMPRODUCT即可。
最后说明一下,这两个取代VLOOKUP的公式只适用于结果为正数的情况,至于其他情况看具体问题吧。

如果你有任何关于Excel使用方面的问题

都欢迎来学习群获得帮助

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多