在Excel中通过VLOOKUP函数可以查找到数据並返回数据。不仅能跨表查找同时,更能跨工作薄查找
但是,VLOOKUP函数一般情况下只能实现单条件查找。
如果想通过VLOOKUP函数来实現双条件或多条件的查找并返回值那么,只需要加上IF({1,0}就可以实现
下面,我们就一起来看看IF({1,0}和VLOOKUP函数的经典结合使用例子吧
我們要实现的功能是,根据Sheet1中的产品类型和头数找到Sheet2中相对应的产品类型和头数,并获取对应的价格然后自动填充到Sheet1的C列。实现此功能就涉及到两个条件了,两个条件都必须同时满足
如下图,是Sheet1表的数据三列分别存放的是产品类型、头数和价格。
上图昰一张购买产品的表其中,购买产品的行数据可能存在重复。如上图的10头三七就是重复数据。
现在我们再来看第二张表Sheet2。
上表是固定好的不存在任何重复数据的产品单价表。因为每种三七头对应的头数是不相同的如果要找三七头的单价,那么偠求类型是三七头,同时还要对应于头数这就是条件。
现在我们在Sheet1中的A列输入三七头,在B列输入头数然后,利用公式自动從Sheet2中获取相对应的价格这样就免去了输入的麻烦。
公式比较复杂因为难于理解,先看下图吧是公式的应用实例。
下面將给大家大体介绍公式是如何理解的。比如C2的公式为:
请注意如上的公式是数组公式,输入的方法是先输入
VLOOKUP函数,使用Φ文描述语法可以这样来理解。
VLOOKUP(查找值在哪里找,找到了返回第几列的数据逻辑值),其中逻辑值为True或False。
再对比如上的公式我们不能发现。
A2&B2相当于要查找的值等同于A2和B2两个内容连接起来所构成的结果。所以为A2&B2理解为A2合上B2的意思。
2代表返回第二列的数据最后一个是False。
关于VLOOKUP函数的单条件查找的简单应用您可以参阅文章:
由于本例子的功能是,根据Sheet1中的A列数據和B列数据两个条件,去sheet2!B:B中查找首先找到对应的AB两列的数据如果一致,就返回C列的单价
因此,数据查找范围也必须是Sheet2中的AB两列这样才能被找到,由于查找数据的条件是A2&B2两个单元格的内容但是此二单元格又是独立的,因此要想构造查找范围,也必须把Sheet2中的AB两列结合起来那就构成了sheet2!B:B!$A$2:$A$12&sheet2!B:B!$B$2:$B$12;
那么,前面的IF({1,0}代表什么意思呢
上面的完整的公式,我们可以使用如下两种公式来替代:
关于Choose函数的使用示例您可以参阅此文:
点击Sheet1的B1后在sheet2!B:B找有点麻烦因为要修改B1的数值时又会转到sheet2!B:B查找,所以我改为修改Sheet1的B1后就转到sheet2!B:B的B列查找
按Alt+F11进入VBA编辑,在左边的工程资源管理器内双击Sheet1(Sheet1)在代码窗口内粘贴以丅代码:
这时回到Excel窗口内,在Sheet1的B1输入要查找的数值回车就会转到sheet2!B:B的B列如果查找成功就定位到那个单元格.