方法一:vlookup函数
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
- lookup_value 必需。要在表格或区域的第一列中搜索的值。
- table_array 必需。包含数据的单元格区域。
- col_index_num 必需。table_array 参数中必须返回的匹配值的列号。
- range_lookup 可选。一个逻辑值,指定希望 VLOOKUP 查找精确匹配值还是近似匹配值
正向查找公式:=VLOOKUP(D2,A1:B5,2,0)
反向查找公式:=VLOOKUP(E2,IF({0,1},A1:A5,B1:B5),2,0)
方法二:index match函数
INDEX(array, row_num, [column_num])
- Array 必需。单元格区域或数组常量。
- Row_num 必需。选择数组中的某行,函数从该行返回数值。
- Column_num 可选。选择数组中的某列,函数从该列返回数值。
MATCH(lookup_value, lookup_array, [match_type])
正向查找公式:=INDEX(B1:B5,MATCH(D2,A1:A5,0))
反向查找公式:=INDEX(A1:A5,MATCH(E2,B1:B5,0))
方法三:dget函数
DGET(database, field, criteria)
- Database 必需。构成列表或数据库的单元格区域。
- Field 必需。指定函数所使用的列。
- Criteria 必需。包含所指定条件的单元格区域。
正向查找公式:=DGET(A1:B5,B1,D1:D2)
反向查找公式:=DGET(A1:B5,A1,E1:E2)
三种查找方法的对比:
查找函数 | 优点 | 缺点 |
vlookup | 最常用、直观 | 不支持直接反向查找,需要配合if函数,繁琐 |
index | 正反向皆可直接查找 | 需要2个函数配合,正向查找不如vlookup简洁 |
dget | 只需一个函数就能正反向查询 | 需要查找的条件有列标题且相同 |
以上三种查找方法,各位Excel爱好者最爱哪一种呢?