03.03 EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

【例】如何快速查询出产品“丙丁”对应的产品编码?

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

操作一:选中A列,选择剪切,插入到B列,然后在G2单元格输入公式

“=VLOOKUP(F2,A:B,2,FALSE)”,回车。

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

备注:

(1)VLOOKUP函数无法实现反向查询,所以需要将A列产品编码进行整体剪切

(2)实际工作中往往不允许我们对原始数据表进行改动,这时就需要对引用的内容进行反向查询。

(3)下面介绍两种方法,一种是之前文章讲过的INDEX嵌套MATCH函数的方法,另一种也是我们今天内容的重点,CHOOSE函数的循环数组选择和VLOOKUP如何嵌套CHOOSE函数进行反向查询。

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

操作二:INDEX嵌套MATCH函数(推荐)

在G2单元格输入公式“=INDEX(A:B,MATCH(F2,B:B,0),1)”,回车

备注:

(1)函数MATCH返回指定数值在指定数组区域中的相对位置,语法结构为MATCH(查找值,查找区域,匹配类型),匹配类型常用默认为0。本例中返回值为F2单元格内容在B列中的行号。

(2)函数INDEX用来返回引用区域指定位置的数值,语法结构为INDEX(数组,行序数,[列序数],[区域序数]),本例中是指返回AB两列数据区域中,第X行第1列的内容,X指MATCH函数返回的行号

(3)有关INDEX函数和MATCH函数的更多详细讲解,大家可以查看2月28日和29日的文章,那里有更详细的介绍,这里不再展开。

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

操作三:VLOOKUP函数嵌套CHOOSE函数

在G2单元格输入公式“=VLOOKUP(F2,CHOOSE({2,1},A2:A34,B2:B34),2,FALSE)”,回车

EXCEL如何实现从右向左的逆向查询?INDEX和VLOOKUP都能实现

备注:

(1)CHOOSE函数语法结构为“CHOOSE(序号,[数值1],[数值2],[数值3]......)”,其中序号是指位于后面数值明细的第几个;数值最少1个,最多254个。例如“CHOOSE(3,23,24,25,26,27)”表示从“23、224、25、26、27”五个数值中,选择第三个,返回结果为25。

(2)公式“CHOOSE({2,1},A2:A34,B2:B34)”,返回的是一个“编号、产品名称”的数组,也就是“0001,甲;0002,乙;......0033,丙辛”,也就是将原数据的A列和B列进行颠倒,这样便可以用VLOOKUP进行正向的查找引用。

(3)这里CHOOSE进行选择的是数组 {2,1}。先从A2:A34和B2:B34两个数组中,选择第二个数组中的B2,然后选择A2,完成一个循环;然后选择B3,再选择A3......,这样一直选择到B34、A34。这样便将原数据的AB两列数据进行了互换。

(4)最后再按照VLOOKUP函数的正常语法,进行查找引用,达到相同的效果。


分享到:


相關文章: