语法
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
- lookup_value:查询条件
- table_array:查询范围
- col_index_num:返回第几列
- range_lookup:匹配方式【0:精确匹配 1:模糊匹配】
应用场景
单条件查询返回一列
- 查询条件/检索关键字为单个单元格
- 查询条件/检索关键字必须在检索区域第一列
公式
- VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
上图:VLOOKUP(F2,A2:C31,3)
含义:查找A2:C31范围内,满足F2内容条件的一条数据,并返回这条数据第三列的值
#N/A
⚠️上图查找“张二十”的销售额时【VLOOKUP(F3,A2:C31,3)】,因为“张二十”在第二列,所以显示“#N/A”
单条件反向查询返回一列
- 查询条件/检索关键字为单个单元格
- 查询条件/检索关键字不在检索区域第一列
公式
- VLOOKUP(lookup_value,IF({1,0},关键字所在列,查找值所在列),col_index_num,range_lookup)
上图:VLOOKUP(F3,IF({1,0},B2:B31,A2:A31),2,0)
含义:
IF({1,0},B2:B31,A2:A31):由于F3的值不在第一列在B列,需要将第一列和第二列换位置,此时第一列为姓名,第二列为工号。
查找A2:B31范围内,满足F3内容条件的一条数据,并返回这条数据第二列,即工号的值。
#REF!
⚠️上图查找“张二十”的销售额时【VLOOKUP(F3,IF({1,0},B2:B31,A2:A31),3,0)】,因为公式中不包含C列,所以出现“#REF!”
多条件查询返回一列
- 查询条件/检索关键字为多个单元格
- 公式完毕,显示结果时应该按"command+shift+enter"
- 关键字的顺序应该与对应的列顺序一致,如lookup_value1应和序列1的值对应上
- 下拉可显示本列其他单元格查找到的值
公式
VLOOKUP(lookup_value1&lookup_value2,IF({1,0},序列1&序列2,查找值所在列),2,0)
上图:VLOOKUP(F2&G2,IF({1,0},A2:A31&B2:B31,C2:C31),2,0)
含义:
IF({1,0},A2:A31&B2:B31,C2:C31):查找范围为A2-C31
查找A2:C31范围内,满足F2和F3内容条件的一条数据,并返回这条数据第三列,即销售额的值。
#N/A
⚠️1:按键错误,不能直接enter,应该command+shift+enter
⚠️2:条件不满足:查找条件不满足,或语句的列有问题
查询返回多列
- 查询条件/检索关键字可以为一个或多个单元格
- 下拉可显示本列其他单元格查找到的值
公式
VLOOKUP(lookup_value,table_array,COLUMN(查找值所在列1),0)
VLOOKUP(lookup_value1&lookup_value2,IF({1,0},序列1&序列2,查找值所在列),2,0)
公式总结
- VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)【单条件查】
- VLOOKUP(lookup_value,IF({1,0},关键字所在列,查找值所在列),2,0)【查询关键字不在第一列】
- VLOOKUP(lookup_value1&lookup_value2,IF({1,0},序列1&序列2,查找值所在列),2,0)【多条件查】
- VLOOKUP(lookup_value,table_array,COLUMN(查找值所在列1),0)【返回多列】