小B:拉登,昨天你用P_LOOKUP,实现的多条件查找,确实比LOOKUP好用。
多条件查找李锐老师的教程里,有15个技巧呢。今天咱们继续?
Jietu20170413-104331拉登:好啊!求之不得。
小B:那今天就进行第4个,从下向上查找。
拉登:这个,不是在前天的《【公式Plus】P_LOOKUP,秒杀lookup的函数》文章里,说了嘛,接着看下一个。
小B:好好,那…下一个是,从右向左查找。也就是我们常说的,LOOKUP反向查找。这个,记得我之前学过来着,怎么又忘记了呢。
反向查找
拉登:行了,别想了,还是看我的吧。首先,我们看看原文的示例。
Jietu20170413-221419表格的查找要求是这样的,根据产品【名称】查找,并返回它左侧的【出库日期】的最后一条记录。
我们都知道,LOOKUP默认只能返回它右侧的数据列,所以直接使用LOOKUP,是无法实现这个要求的。咱们来看看,原始的公式,是怎么写的?
Jietu20170413-221305拉登:哎呀,看完这个公式,你记不住也是可以理解的。因为看懂公式,本身就不是一件轻松的事儿。我来简单的说明一下。
公式使用了0数组方法,什么意思呢,就是通过构建一个包含0和#DIV/0!的数组,然后在数组中查找1的方法,来跳过LOOKUP只能返回右侧数据的限制。具体的过程是这样的:
- 通过与【名称】数据F2进行对比,构建一个包含true和false的数组,我把这个数组叫做A。
- 使用0除以数组A,将包含true和false的数组A,转换成包含1和#DIV/0!的数组,我把这个数组叫做B。
- 在数组B中,查找小于数字1的最后一条记录,找到后,返回数据区域A2:A13对应行的单元格。
因为数组A和B,实在内存中构建的数组,不存在顺序关系,所以跳出了LOOKUP的限制,实现了反向查找。
小B:好像是这么回事,但是太难记了,快看看你的P_LOOKUP函数吧,我比较期待。
P_LOOKUP简单方法
拉登:使用P_LOOKUP就简单多了。看看下面的公式先
Jietu20170413-223714从长度上就能看到出来,P_LOOKUP函数要比LOOKUP简单,具体每个参数是什么意思呢?
Jietu20170413-224323- 第1个参数,是你要查找的信息,也就是产品的名字。
- 第2个参数,是查找的范围,也就是B列。
- 第3个参数,之前介绍过了,查找最后1笔,就写-1,倒数第2个,就写-2,以此类推。
- 第4个参数,这里是关键了哈。这个参数的意义,就是指定要返回哪一列,所有只要在返回列中,随便选一个单元格就行了。左边还是右边都行,我们不考虑这个问题。
函数嘛,本来就应该这么简单,对不对?来看看动态的效果。
反向查找小B:师傅,就是师傅。一个查找,都能搞得这么文艺。
拉登:别光说不练哈,快关注我的公众号【拉小登】
,回复【0414】
下载今天的示例文件,动手试试。
小B:得嘞!放心吧,练习肯定是要做的,还有小师妹等着我,手把手的教呢!
获取P_LOOKUP
- 关注我的公众号号
【拉小登】
,回复【公式plus】
,就可以免费下载了。 - 下载完成后,打开【公式plus】,然后打开你的表格,就可以使用P_LOOKUP函数了。
我是拉小登,如果你喜欢我的文章,请转发或者打赏,有你的支持,我才能继续写出更多,更好的教程,咱们明天见。
网友评论