今日分享主题:如何用vlookup进行多条件的精确查找。
我在《查找内容不在首列,Vlookup函数如何逆向查找?》这篇文章介绍vlookup的基本语法时,是说它可以实现单条件的精确查找。
然后有朋友问了:那多条件呢?要怎么办?vlookup也能搞定吗?
答案当然是肯定的。
怎么做呢?还是举例来说明。
需求:如图中红框,根据门店名称与月份两个条件,查找相应的收入。
这里的vlookup要怎么用呢?我们还是回到源头“语法”来思考。从语法来分析vlookup函数的用法。
第一个参数,是查找的条件。当它是单条件时,我们只需要选中单条件所在单元格即可。那如果多条件呢?我们可以把条件组合起来。如何组合呢?用“&”连接符。在这里,针对H2单元格的公式,第一个参数就应该是:F2&G2。
紧接着,第二个参数,是查询区域。在《查找内容不在首列,Vlookup函数如何逆向查找?》文章中,我有专门说明使用vlookup的一个必备条件是:第一个参数与第二个参数首列必须是同类信息。
那么在这里,我们知道,第一个参数是门店名称与月份的组合。可是很显然,目前A:D列的区域不符合这个要求。所以,没办法,既然要用vlookup函数来查找,那我们就得遵循它的语法规则。
所以,我们就想办法来构造一个新的查询区域,使其满足首列是门店名称与月份的组合。那怎么来构造呢?
回忆一下,在文章中介绍vlookup的逆向查找时,也构造了一个新的查询区域来调整数据顺序。我们的方法是用if构建数组。那这里呢,也是一样的,我们来试试。
好,大致思路有了,我先把公式写出来:
重点解释下第二个参数:IF({1,0},$B:$B&$C:$C,$D:$D),这是我们构建的查找区域。我们借助if{1,0}构造数组,搭建了两列数据。左边一列是将门店名称&月份合并为一列:$B:$B&$C:$C(正好与第一个参数一样),右边一列是收入:$D:$D。
这样重新构造查找区域后,要返回的结果“收入”就是新的查找区域里的第二列,所以第三个参数就是2。同时,也是精确查找,所以第四个参数为0。
好,到这里,如何用vlookup函数来实现多条件查找就讲完了。咱们这里的例子是2个条件,其实更多条件也是一样的,你可以动手试试看。
当然,如果你觉得这种方法费劲的话,也可以尝试添加辅助列的办法来实现。毕竟伟人说过:不管白猫黑猫,抓到老鼠就是好猫。