在 Excel 中,VLOOKUP
函数本身是按列从左至右进行查找的,但通过一些巧妙的方法可以实现反向查找,以下介绍几种常用的方法:
借助辅助列
- 步骤一:添加辅助列
- 在原数据区域旁边添加一个辅助列,将需要作为查找依据的列复制到辅助列中,使其位于查找区域的第一列。
- 步骤二:使用 VLOOKUP 函数
- 按照常规的
VLOOKUP
函数用法,在相应单元格中输入公式,以辅助列作为查找列进行查找。 - 例如,有一个员工信息表,包含 “姓名”“工号”“部门” 三列,要根据工号反向查找姓名。先在表格右侧添加辅助列,将 “工号” 列复制到辅助列,然后在需要返回姓名的单元格中输入公式
=VLOOKUP(E2,C:D,2,FALSE)
,其中E2
是要查找的工号,C:D
是包含辅助列 “工号” 和要返回的 “姓名” 列的区域,2
表示返回区域中的第 2 列,FALSE
表示精确匹配。
- 按照常规的
使用 INDEX 和 MATCH 函数组合
- 原理
INDEX
函数用于返回指定区域中指定行和列交叉处的值,MATCH
函数用于在指定区域中查找指定值的位置。通过MATCH
函数先找到查找值在查找列中的行号,再用INDEX
函数根据该行号返回对应行的目标列的值,从而实现反向查找。
- 示例
- 假设有一个产品销售表,包含 “产品名称”“销售额”“销售量” 三列,要根据销售额反向查找产品名称。在需要返回产品名称的单元格中输入公式
=INDEX(A:A,MATCH(E2,B:B,0))
,其中A:A
是要返回的 “产品名称” 列,E2
是要查找的销售额,B:B
是查找列 “销售额”,0
表示精确匹配。
- 假设有一个产品销售表,包含 “产品名称”“销售额”“销售量” 三列,要根据销售额反向查找产品名称。在需要返回产品名称的单元格中输入公式
使用 CHOOSE 和 MATCH 函数组合
- 原理
CHOOSE
函数可以根据给定的索引值,从参数列表中返回相应的值。MATCH
函数用于查找指定值在查找列中的位置。通过MATCH
函数找到位置后,再用CHOOSE
函数根据该位置从原数据区域中返回对应的反向查找结果。
- 示例
- 例如,有一个学生成绩表,包含 “学号”“姓名”“成绩” 三列,要根据成绩反向查找学号。在需要返回学号的单元格中输入公式
=CHOOSE(MATCH(E2,C:C,0),A:A)
,其中E2
是要查找的成绩,C:C
是查找列 “成绩”,0
表示精确匹配,A:A
是要返回的 “学号” 列。
- 例如,有一个学生成绩表,包含 “学号”“姓名”“成绩” 三列,要根据成绩反向查找学号。在需要返回学号的单元格中输入公式
利用 IF 函数调整数据区域
- 原理
- 通过
IF
函数将原数据区域进行行列转换,使需要反向查找的列成为查找区域的第一列,然后再使用VLOOKUP
函数进行查找。
- 通过
- 示例
- 假设有一个客户信息表,包含 “客户编号”“客户姓名”“联系电话” 三列,要根据联系电话反向查找客户编号。在需要返回客户编号的单元格中输入公式
=VLOOKUP(E2,IF({1,0},C:C,A:A),2,FALSE)
,其中E2
是要查找的联系电话,IF({1,0},C:C,A:A)
通过IF
函数将 “联系电话” 列和 “客户编号” 列进行了位置交换,2
表示返回交换后的第二列即 “客户编号” 列,FALSE
表示精确匹配。
- 假设有一个客户信息表,包含 “客户编号”“客户姓名”“联系电话” 三列,要根据联系电话反向查找客户编号。在需要返回客户编号的单元格中输入公式