VLOOKUP函数的多条件查在Excel中,通过VLOO KUP函数可以查到数据并返回数据。一般情况下,VLOOKU P 函数只能实现单条件查。但是借助IF({1,0},VLOOKU P函数不仅能跨表查,甚至能跨工作薄查。
下面,我们就一起来看看IF({1,0}和VLOOK UP函数的经典结合使用例子吧。
我们要实现的功能是,根据Shee t1中的产品类型和头数,到Shee t2中相对应的产品类型和头数,并获取对应的价格,然后自动填充到Shee t1的C列。实现此功能,就涉及到两个条件了,两个条件都必须同时满足。
如下图,是Sheet1表的数据,A、B、C三列分别存放的是产品类型、头数和价格。
上图是一张购买产品的表,其中,购买产品的行数据,可能存在重复。如上图的10头三七头,就是重复数据。
现在,我们再来看第二张表Sh eet2。
上表中是固定好的不存在任何重复数据的产品单价表。因为每种三七头对应的头数是不相同的,如果要三七头的单价,那么,要求类型是三七头,同时还要对应于头数,这就是条件。
现在,我们在She et1中的A列输入三七头,在B列输入头数,然后,利用公式自动从Shee t 2中获取相对应的价格。这样就免去了输入的麻烦。
公式比较复杂,因为难于理解,先看下图吧,是公式的应用实例。
下面,将给大家大体介绍公式是如何理解的。比如C2的公式为:
if vlookup函数的使用方法{=VLOOKU P(A2 &B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,0)} 请注意,如上的公式是数组公式,输入的方法是,先输入:
=VLOOKU P(A2 &B2,IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,0) 然后,再按Ctrl+ Shift+Enter组合键结束,才会出现大括号。大括号是通过组合键按出的,不是通过键盘输入的。
公式解释:
①VLOOKU P的解释
VLOOKU P函数,使用中文描述语法,可以这样来理解。
VLOOKU P(查值,在哪里,到了返回第几列的数据,逻辑值),其中,逻辑值为Tr ue 或Fa lse。
再对比如上的公式,我们不能发现:
“A2&B2”相当于要查的值。等同于A2和B2两个内容连接起来所构成的结果。所以为A2&B2,理解为A2合上B2的意思。
“IF({1,0},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)”相当于要查的数据范围。
“2”代表返回第二列的数据。最后一个是F alse,表明是精确查。
②IF({1,0}的解释
刚才我们说了IF({1,0},Sheet2!$A$2:$A$12 &Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)相
当于VLO OKUP函数中的查数据的范围。
由于本例子的功能是,根据Shee t1中的A列数据和B列数据构成的两个条件,去Sheet2中查到对应的AB两列的数据,如果一致,就返回C列的单价。
因此,数据查范围也必须是S heet2中的AB两列,这样才能被到,由于查数据
的条件是A2&B2两个单元格的内容,但是此二单元格又是独立的,因此,要想构造查范围,也必须把Sh eet2中的AB两列结合起来,那就构成了S heet2!$A$2:$A$12&Sheet2!$B$2:$B$12;Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12相当于A B两列数据组成一列数据。
那么,前面的IF({1,0}代表什么意思呢?
IF({1,0},相当于IF({True,False},用来构造查范围的数据的。最后的She et2!$C$2:$C$12也是数据范围。
现在,整个IF({1,0},Sheet2!$A$2:$A$12 &Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12)区域,就形成了一个数组,里面存放两列数据。第一列是Sh eet2AB两列数据的结合,第二列数据是Sheet2!$C$2:$C$12。
公式{=VLOOKU P(A2&B2,IF({1,0},Sheet2!$A$2:$A$12 &Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,0)}中的数
字2,代表的是返回数据区域中的第二列数据。结果刚好就是Sheet2的C列,即第三列。因为
在IF({1,0}公式中,Sheet2中的AB两列,已经被合并成为一列了,所以,Sheet2中的第三列C列,自然就成为序列2的列编号了,所以,公式中的2代表的就是要返回第几列的数据。
上面的完整的公式,我们可以使用如下两种公式来替代:
=VLOOKU P(A2 &B2,CHOOSE({1,2},Sheet2!$A$2:$A$12&Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,0)
=VLOOKU P(A2 &B2,IF({TRUE,FALSE},Sheet2!$A$2:$A$12 &Sheet2!$B$2:$B$12,Sheet2!$C$2:$C$12),2,FALSE)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论