Excel-VLOOKUP函数扩展使用方法
上次分享过VLOOKUP函数的基本使用方法,是在单条件的情况下使用基本引用的方法。
没有阅读过的小伙伴可查看下面的地址,先熟悉一下。
点击:Excel公式:行(ROW)、列(COLUMN)及Vlookup函数的使用
一、VLOOKUP函数在双条件的情况下使用。
在多条件引用的情况下使用VLOOKUP函数,一般有2种方法。
方法一:引用“辅助列”。
方法二:使用数组函数。
我们推荐能用方法一的情况下,使用方法一来实现,因为比较直观,容易理解和掌握。
方法一使用举例介绍。
因VLOOKUP函数查找方式是从左到右查找,所以我们引用“辅助列”应在左侧添加。
如下图:从B2和C2查找数据,得到学生身高的方法。
公式: =VLOOKUP(G2&H2,$A$2:$D$7,4,0)
以上方法一是原始报表,允许添加辅助列的情况下,可以使用这种方法获取到需要的平均身高数据。但是如果原始报表不允许添加辅助列,就需要用到方法二。
方法二、使用数组函数,实现VLOOKUP函数引用。
数组函数的模型是 {=VLOOKUP(F1&G2,IF({1,0},$B$2:$B$12&$C$2:$C$12,$D$2:$D$12),2,0)}
数组函数的典型特点是在函数公式两侧有一个大括号{},而且大括号不是手动输入的,而是通过键盘Ctrl+Shift+Enter 这3键组合输入大括号的,效果就是在公司两侧加大括号,当鼠标定位到工具栏,大括号就消失了。
参数说明:
{=VLOOKUP(G2&H2,IF({1,0},$B$2:$B$12&$C$2:$C$12,$D$2:$D$12),2,0)}
G2&H2 :通过条件1和条件2来做查询的时候要求参数
=VLOOKUP(G2&H2,IF({1,0},$B$2:$B$7&$C$2:$C$7,$D$2:$D$7),2,0)
这里通过IF函数加数组{1,0} 同样把需要查询的数据转换成辅助列样式,在Excel的内存中实现辅助列。使用{1,0}同时返回第2和第3参数。
$B$2:$B$7&$C$2:$C$7,$D$2:$D$7) :可分解成 B2:B2 & C2:C7, D2:D7 两部分。
输入方法:B2:B7 按键盘F4功能键,自动变成$B$2。同样,$B$2 与C2:C7 用F4键加$,用&连接。想要查询的D2:D7同样加绝对引用$。 后的的2表示输出结果是在第2列数据,0表示精确查找。可在公式栏中,按功能键F9来查看具体内存数据,见下图。
以上公式输入结束之后,按三键Ctrl+Shift+Enter来结束数组公式的输入,否则会报错。
二、VLOOKUP函数在三条件的情况下使用。
使用VLOOKUP函数的三条件引用的情况,与双条件引用方法类似,在实际使用过程中,如果能添加辅助列,依然是优先选择辅助列方式,比较直观简单。
=VLOOKUP(I2&J2&K2,$B$2:$F$7,5,0)
上述是直接添加辅助列的结果。
同样也可以通过方法二,构建内存数组函数来实现。
公式模板如下:
=VLOOKUP(F4&G4&H4,IF({1,0},$A$2:$A$12&$B$2:$B$12&$C$2:$C$12,$D$2:$D$12),2,0)
与双条件的区别就是前面引用的部分F4&G4&H4变成3个条件。
IF函数不变,数组{1,0}不变,其他依然是通过绝对引用方法把辅助列添加到内存中。
后面的2,表示我们构建的数组依然是2列数据,第1列是引用列(构造的辅助列都放到第1列),第2列是返回的数据。
总结一下,无论是双条件还是三条件引用数组方式倒数第2个数据都是2,因为引用的辅助列都是第1列,返回的数据结果都是第2列。
三、VLOOKUP函数在多层条件的情况下使用。
比如下面的例子:需要根据消费金额来确定用户达到的会员等级,这个等级会随着时间和消费金额的累计,发生变化的。如果数据比较多,需要快速查找的时候,就需要用到VLOOKUP的多层条件。这种方法可以根据消费金额来自动判断会员等级。
需要注意的条件:
1、需要使用模糊查询,即最后使用数字2来实现模糊查询。
2、需要把消费金额按从小到大排序,不然会引起模糊查询数据匹配混乱。
四、VLOOKUP函数在返回多项数据列的情况下使用。
有时候需要返回查询数据显示多列数据的时候,需要结合其他函数来实现。
比如column函数。
下图:我们需要查询返回值可能不是一列数据,还是多列数据。比如需要查询3列数据。
注意:如果A列没有数据,如下图,可能会报错。