vlookup函数的使用方法,含查找多值、以某字开头的值与近似匹配
vlookup 是 Excel 中常用的函数之一,它用于查找指定值所对应的另一个值,特别是表格记录非常多时,用它很快就可以找到想查找的值。用vlookup函数查找时,既可以精确匹配又可以近似匹配。以下将先介绍vlookup函数的作用和函数表示,再列举vlookup函数的使用方法,最后再分享它的几个扩展应用实例,包含查找以某字或词组开头或结尾值、查找包含某个字或词组的值,近似匹配和查找指定类下的所有产品价格。实例操作所用版本均为 Excel 2016。
一、vlookup函数的使用方法
(一)vlookup 的作用
vlookup 用于查找指定值所对应的另一个值。例如:查找某件产品的价格,某个同学的某科成绩等。
(二)vlookup 函数表示:
=vlookup(要查找的值,查找区域,返回值所在列号,精确匹配或近似匹配)
参数说明:
1、要查找的值:可以引用单元格的值,例如 B6;也可以直接输入,例如“红色T恤”。
2、查找区域:用于指定查找范围,例如 A2:D10。
3、返回值所在列号:用于指定返回值在哪列,列号开始必须从指定范围算起;例如指定范围为 B2:E8,则 B 列为第一列,若返回值所在列号为 3,则从 D 列中返回值。
4、精确匹配或近似匹配:精确匹配用 0 或 False 表示;近似匹配用 1 或 True 表示;为“可选”项,即可填可不填;若不填,则默认值为近似匹配。
(三)vlookup函数的使用方法
1、假如要从一个服装销量表中查找某件衣服(粉红衬衫)的价格。选中 A14 单元,输入 =b5,按回车,则引用 b5 单元的值“红色T恤”;双击 B14 单击格,把公式 =VLOOKUP(B5,B2:H9,5,0) 复制到 B14,按回车则查找到“红色T恤”的价格,操作过程步骤,如图1所示:
图1
2、公式说明:
=VLOOKUP(B5,B2:H9,5,0) :B5 是要查找的值,B2:H9 是查找范围,5 是返回值所在的列号(从 B 列开始算起的第5列[即 F 列]),0 表精确匹配;公式的意思是从 B2:H9 这片区域查找 B5(即“红色T恤”)的价格。
二、vlookup函数的扩展使用方法
(一)查找以某字或词组开头或结尾值,查找包含某个字或词组的值
1、假如要查找服装销表中是否有以“T恤”结尾的服装,有则显示价格。选中 B14 单元格,把公式 =VLOOKUP("*"&"T恤",B2:H9,5,0) 复制到 B14 单元格,如图2所示:
图2
2、按回车,则公式执行结果为 35,恰好是 B3“绿色T恤”的价格,说明公式无误,如图3所示:
图3
3、公式中 * 表示任意字符,& 是连接符号,"*"&"T恤" 表示查找以任意字符开头、以“T恤”结尾的服装。
4、查找以指定字符(如“粉红”)开头的的服装,公式可以这样写:=VLOOKUP("粉红"&"*",B2:H9,5,0)。查找包含某个词的服装,公式可以这样写:=VLOOKUP("*"&"短袖"&"*",B2:H9,5,0)。
(二)近似匹配
1、假如根据评定等级表查找指定学生的评定等级。在 L9 单元格中输入 =A3,按回车,则引用 A3 的值;输入公式=VLOOKUP(I3,L:M,2),按回车,则找到莫静玲的评定结果“良”,操作过程步骤,如图4所示:
图
提示:“评定表”一定要按“升序”排序,否则无法实现近似匹配,公式执行会返回错误结果。例如:演示中,“评定表”的“分数”是按升序排序。
2、公式说明
公式 =VLOOKUP(I3,L:M,2) 中引用“评定表”的区域只用列号(即 L:M)即可,不必用行,否则无法返回正确的结果。公式中省略了第四个参数,则第四个参数用默认值“近似匹配”。
(三)查找指定类下的所有产品价格
1、假如要查找服装表中“小类”“衬衫”的价格。首先在 I1 和 J1 单元格分别输入“小类”和“价格”,然后在 I2 单元格输入要查找“衬衫”;把公式 =(F2=$I$2)+A1 复制到 A2 单元格,按回车,把鼠标移到 A2 右下角的单元格填充柄上,往下拖,则生成一组次序;把公式 =IFERROR(VLOOKUP(ROW(A1),A:D,4,0),"") 复制到 J2 单元格,按回车,则返回第一条“小类”属于“衬衫”的服装价格,同样方法往下拖,返回所有属于“衬衫”的服装价格,操作过程步骤,如图5所示:
图5
2、A 列为辅助列,用于存放构建的组次序;用公式 =(F2=$I$2)+A1 构建的组次序,只有“衬衫”是完整的,“小类”下共有三个“衬衫”,构建的组次序为 1、2、3,而“小类”下的“雪纺”和“T恤”并未构建完整的组次序,例如“雪纺”有四个,它们的次序全是 2。为什么“衬衫”可以构建完整的组次序,而其它不行?主要是 F2=$I$2 决定的,F2 单元格中是“衬衫”,而 $I$2 单元格也是“衬衫”,在 I 和 2 前加 $ 表示对单元格 I2 的绝对引用,所谓绝对引用就是值不会改变,例如往下拖时,I2 不会变为 I3、I4、…。
3、公式说明
A、=(F2=$I$2)+A1
当公式在 A2 单元格时,(F2=$I$2) 为真,转为数字也就是 1,A1 为 0(可以在任意一个单元格输入 =A1 测试),则 =(F2=$I$2)+A1 运算结果为 1;当公式在 A3 单元格时,公式变为 =(F3=$I$2)+A2,如图6所示:
图6
F3 单元格是“T恤”,I2 单元格是“衬衫”,它们不相等,返回假,转为数值也就是 0,A2 单元格的值是 1,加起来结果为 1;当公式在 A4 单元格时,公式变为 =(F4=$I$2)+A3,如图7所示:
图7
F4 为“衬衫”,(F4=$I$2) 返回真,则 =(F4=$I$2)+A3 = 1 + 1 = 2。由此可知,在往下拖过程中,A1 会逐渐增加 1,$I$2 始终不变。
B、=IFERROR(VLOOKUP(ROW(A1),A:D,4,0),"")
IFERROR 用于处理错误,即如果 VLOOKUP 执行发生错误,则返回空(即查找到“T恤”和“雪纺”时,返回空);ROW(A1) 是取得单元格 A1 的值,往下拖过程中,A1 会变成 A2、A3、…;其它三个参数上面已经介绍过,但要注意查找范围(A:D)要包含 A 列(即辅助列),不能包含要分组的列(即 F 列)。