VLOOKUP正向的应用介绍资料较多,简单回顾一下各参数如下:
VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数 | 说明 | 输入参数类型 |
---|---|---|
lookup_value | 要查找的值 | 数值、引用或文本字符串 |
table_array | 要查找的区域 | 数据表区域 |
col_index_num | 返回数据在查找区域的第几列数 | 正整数 |
range_lookup | 模糊匹配/精确匹配 | TRUE/FALSE(或不填) |
VLOOKUP 逆向查找技巧
以查找替代料号对应的原料号为例,如下图公式
=VLOOKUP(F2,IF({1,0},C2:C34,A2:A34),2,0)
其中
第二个参数–查找区域是IF({1,0},D2:D19,B2:B19)的返回结果。
IF函数条件为真时返回第一个值,条件为假返回第二值。
查IF函数使用帮助,它不仅可以返回一个值,还可以返回一个区域引用。
我们将IF({1,0},D2:D19,B2:B19)拆解为如下两条公式,也就好理解了:
下面展示一些 内联代码片
。
IF(1,D2:D19,B2:B19) //返回D2:D19
IF(0,D2:D19,B2:B19) //返回B2:B19
IF函数的第一个参数为数组{1,0}时会分别计算两次,第一次以“1”判断,返回D2:D19,第二次以“0"判断,返回B2:B19
通过这个IF函数,两次计算的结果会重新组合成一个数组返回,也即D2:D19在第一列,B2:B19在第二列,从而实现了数据列位置的调整,再套用VLOOKUP函数规则。
补充两个函数
INDEX
INDEX(一列数据,数字N),返回结果为这一列的数据第N个。
举例如下图
"=INDEX(C2:C34,4)",
返回C2:C19 数据区域的,第4个值,也即”Y4010500004“。
MATCH
MATCH(查找值,查找列,0),表示查找值在查找列里面的第几个,及已知料号求料号所在行。
=MATCH(F3,C2:C23,0)