vlookup不生效,替代函数,index,match,if{1
2022-08-30 本文已影响0人
低级开发111
VLOOKUP函数语法:
VLOOKUP(lookup_value,table_array,col_index_num,[range_lookup])
参数 | 简单说明 | 输入数据类型 |
---|---|---|
lookup_value | 要查找的值 | 数值、引用或文本字符串 |
col_index_num | 返回数据在查找区域的第几列数 | 正整数 |
range_lookup | 近似匹配/精确匹配 | FALSE(0、空格或不填(但是要有','占位))/TRUE(1或不填(无逗号占位)) |
1.vlookup示例
=VLOOKUP(D2,A:B,2,0)
图1 vlookup示例.png
2.vlookup查找关键字列不在第一列会匹配不到
图2 vlookup失效.png不复制粘贴列不改变改变表结构
3.替代方案a index + match
match(查找值,查找区域,[匹配类型])
-- 返回指定数值在指定数组区域中的位置
index(数组,行序数,[列序数],[区域序数])
-- 返回表格或数组中的元素值,此元素由行号和列号的索引值给定
=INDEX(A:A,MATCH(D2,B:B,0))
MATCH(D2,B:B,0) 查找D2在B列中的行号 返回值为4
INDEX(A:A,4) 返回A列中第二行的值
4.替代方案b vlookup + if{}
VLOOKUP(D2,IF({1,0},B:B,A:A),2,0)
IF({1,0},B:B,A:A)
相当于用if判断调换了列A和列B的顺序,也可以这样 IF({0,1},A:A,B:B)
构造了出图1中查找列在查找区域第一列的数组
if{1,0}原理和进阶用法可以参考
https://zhuanlan.zhihu.com/p/377654196