当无坚不摧的VLOOKUP遇到这几只拦路虎,悲催了…
个人微信号 | (ID:LiRuiExcel520)
微信服务号 | 跟李锐学Excel(ID:LiRuiExcel)
微信公众号 | Excel函数与公式(ID:ExcelLiRui)
VLOOKUP函数的查找引用数据威力大家有目共睹。
虽然VLOOKUP的功能很强大,但是它并不是万能的。很多情况下你用VLOOKUP并不能得到想要的结果。
当VLOOKUP遇到下面这几只拦路虎时,就悲催了:
1、从下向上逆向查找;
2、从右向左反向查找;
3、在合并单元格中查找。
那么,遇到这些拦路虎时,怎么办呢?
下面结合案例展开讲解,正文会比较长,没时间一气看完的同学,可以分享到朋友圈给自己备份一份。
一、从下向上逆向查找
案例一说明:
原材料报价每天更新,报价日期从上向下,要求按原材料查询最新报价。
简单说就是对于数据源中的多次报价,我们要的是最下面那个,做好公式后的效果,动图演示如下所示。
这时候用VLOOKUP是无法达到想要的结果的,因为VLOOKUP的查找方向是从上向下。
它返回的是最上面第一个数据,而不是最下面的数据,如下图所示。
这时候正确的方式是使用LOOKUP万能公式查询,二期特训营的函数初级班专门讲解过,这是它的经典应用之一。
公式如下:
=LOOKUP(1,0/(B2:B16=E2),C2:C16)
这只是VLOOKUP的悲催之一,下面还有,我们继续。
二、从右向左反向查找
当数据源排放的结构是要返回的结果在查询条件左侧时,VLOOKUP基础功能也无法实现。
我们想要的效果是根据项目名称,从右向左查询对应的项目编号,如下图所示。
这时最简便的方式是借助INDEX+MATCH查询组合。
公式如下:
=INDEX(A:A,MATCH(D2,B:B,))
这是VLOOKUP悲催之二,下面还有,我们继续。
三、在合并单元格中查找
遇到合并单元格,很多函数立马傻眼,包括VLOOKUP。
我们先来看下想要的效果,如下图所示。
由于B列有很多合并单元格,所以直接使用VLOOKUP无法正确查询,如下图所示。
正确的方法是借助INDEX+MATCH配合LOOKUP查找。
公式如下:
=INDEX(B:B,LOOKUP(MATCH(D2,A:A,),ROW(2:16)/(B2:B16<>"")))
>>推荐阅读 <<
(点击蓝字可直接跳转)