环境
Excel 2019
VLOOKUP使用
VLOOKUP API
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)
- lookup_value: 目标表中要和源表中对应字段匹配的字段,如场景1中
F3
- table_array: 源表中参与匹配的区域,查阅值所在的区域。 请记住,查阅值应该始终位于所在区域的第一列,这样 VLOOKUP 才能正常工作。 例如,如果查阅值位于单元格 C2 内,那么您的区域应该以 C 开头。
- col_index_num:匹配成功后返回源表参与匹配的第几列,区域中包含返回值的列号。 例如,如果指定 B2:D11 作为区域,则应该将 B 计为第一列,将 C 作为第二列,以此类比。
- range_lookup:返回近似或精确匹配项 - 指示为 1/TRUE 或 0/FALSE
场景1: 根据姓名匹配对应的销量
源表:
目标表
G3=VLOOKUP(F3,$C$1:$D$7,2,0)
- F3 :参与匹配列
- $C 1 : 1: 1:D$7: 匹配区域的绝对位置
- 2:返回匹配区域的第二列,即D列对应的数据
- 0:精确匹配
结果
场景2: 根据分数匹配姓名
源表:
目标表:
C11=VLOOKUP(D11,$C$1:$D$7,1,0)
结果:
#N/A: “值不可用”错误
原因分析:
VLOOKUP函数,table_array匹配区域中,与目标表中匹配的字段(本场景D11)需要在table_array第一列,否则匹配失败
解决方案:
- 添加辅助列
C11=VLOOKUP(D11,$D$1:$E$7,2,0)
- 修改公式中table_array
C11=VLOOKUP(D11,IF({1,0},$D$1:$D$7,$C$1:$C$7),2,0)
结果:
场景3: 根据分数,和等级划分,匹配对应等级
源表
目标表
E2=VLOOKUP(D2,$B$17:$C$21,2,1)
结果