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列中第二行的值

图3 index+match.png

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中查找列在查找区域第一列的数组

图4 image.png

if{1,0}原理和进阶用法可以参考
https://zhuanlan.zhihu.com/p/377654196

上一篇下一篇

猜你喜欢

热点阅读