用vlookup函数时只能引用所选单元格后面的行,有没有函数能引用所选单元格前面的行?

2024-11-01 15:19:38
推荐回答(2个)
回答1:

这是一个反向查找的问题,下面举例说明几种方法:

例:如下图所示,根据B列姓名查找A列的员工号。需查找的姓名在D2单元格。

下面介绍几种函数方法:

1、通过IF数组公式构建VLOOKUP查找区域,实现A、B列对调。=VLOOKUP(D2,IF({1,0},B2:B9,A2:A9),2,0)

2、通过CHOOSE数组公式构建VLOOKUP查找区域,实现A、B列对调。=VLOOKUP(D3,IF({1,0},B$2:B$9,A$2:A$9),2,0)

3、INDEX和MATCH函数组合使用。=INDEX(A2:A9,MATCH(D2,B2:B9,0))

4、OFFSET和MATCH函数组合使用。=OFFSET(A1,MATCH(D2,B2:B9,0),0)

回答2:

vlookup通常用于“向后”查询,不能“向前”查询,如果需要向前查询的话:

法一:

=VLOOKUP(D1,IF({1,0},C:C,A:A),2,0)

法二:

=INDEX(A:A,MATCH(D1,C:C,0))

下面的更常用些。