9. VLOOKUP
9.1 常规使用
Tab键函数自动补齐
基本格式:VLOOKUP(条件, 数据源(包括查找条件的列和要查找的列),要查找的列在所选区域中的位置,匹配方式(0-精确匹配,1-近似匹配))
例如以下表格中根据客户ID查找公司名称
查找的表格如下
首先在B2中输入的公式为:=VLOOKUP(A2,数据源!A:B,2,0)
解释:A2为查找条件,数据源!A:B为查找区域,2的意思是查询的地址位于查找区域的第2列,0位精确匹配,再下拉或双击下拉处,可得到如下的结果
再看个例子,通过公司名称找地址=VLOOKUP(B2,数据源!B:E,4,0)
VLOOLUP()函数的缺点:
查找条件必须位于查找区域的第一列,即可以根据源数据表的前面的列查找后面的列,但是不能根据后面的列查找前面的列
9.2 近似匹配
- 只有数字才有近似匹配
现在有一个婚介所,女性年龄及编号如下,现在已知男性年龄,如何匹配合适的女性跟他约会?
需要查找的如下
则查找的公式为:=VLOOKUP(C2,A:B,2,1)
,这样计算出第一位男性的匹配编号,其他的下拉即可
VLOOKUP()近似匹配只找小于等于自身的最大值
应用:计算个人所得数,如以下例子
计算提成比例及金额
在H9单元格内输入公式:=VLOOKUP(G9,$C$7:$D$13,2,1)
,I9内输出=G9*H9
结果如下:
9.3 数据格式问题
1. 常规转文本(+" ")
首先看上面那部分,原数据对应的编号是文本类型的,查找表中对应的数据是常规类型的,如果在G4内输入公式:=VLOOKUP(F4,$A$1:$C$6,3,0)
,这样是不能计算的,如何解决呢?
将查询表中的常规转成为文本,在G4内输入公式:=VLOOKUP(F4&" ",$A$1:$C$6,3,00)
,这样便可得到结果
2. 文本转常规(*1或+0)
再看下一部分,原数据对应的编号是常规类型的,查找表中对应的编号是文本类型的,如果在G12单元格内输入公式:=VLOOKUP(F12,$A$9:$C$14,3,0)
,则不能计算,若将G12单元格内公式改为:=VLOOKUP(F12+0,$A$9:$C$14,3,0)
或=VLOOKUP(F12*1,$A$9:$C$14,3,0)
,则可得计算结果