Excel查找匹配之VLOOKUP反向查询

作者:清风拂面 | 创建时间: 2023-06-21
工作中经常会用到vlookup(正向)查找的功能,但要是想反向查找,我们该如何下手呢?其实,我们只要将vlookup函数稍作修改,就能对数据进行反向查找匹配。...
Excel查找匹配之VLOOKUP反向查询

操作方法

首先我们分析一下vlookup查找匹配的原理: = VLOOKUP(lookup_value,table_array,col_index_num,range_lookup) 其要引用的数据区域的第一列,必须包含要查找的值。举个例子,查找姓名A1对应的角色:

按照vlookup的匹配方法,倘若现在我们需要根据角色查询到姓名,是不是把角色和姓名这两列交换位置,就可以使用vlookup轻而易举地查找了呢?这里我们不对源数据进行修改,通过if函数的特性,在使用vlookup的过程中,将姓名和角色两列交换位置。

这里我们通过if函数( IF(logical_test,[value_if_true],[value_if_false])),先将姓名和角色列交换位置: 选中一个6x2的单元格区域,输入=IF({1,0},B2:B7,A2:A7),之后按住Ctrl+Shift后,敲Enter,就得到了交换后的数据区域:

接着,再使用vlookup函数,就得到了我们想要的结果。 我们把if函数和vlookup函数组合起来使用,就得到了反向查询匹配的公式: = VLOOKUP(D2,IF({1,0},B2:B7,A2:A7),2,FALSE) 因为把姓名和角色两列数据交换之后,得到的仍然是两列数据,我们想要的结果在数据区域的第二列,所以的值应该是2。

温馨提示

虽然我们使用vlookup实现了反向查询,但是vlookup本身并不具备反向查询的功能。正如如我们前面的例子,只有在与其他函数搭配使用的时候,vlookup才能实现反向查询的功能,其查询的原理仍然是正向查询,即查找值必须在数据区域的第一列中,否则会返回错误。
当然,我们可将上例中的角色做成动态取值,即使用数据有效性,实现姓名跟随角色的变动而变动。
关于数据有效性,以及涉及到的IF函数,请参照网上大把的资料。
如果我的对您有所帮助,我倍感荣幸。
点击展开全文

更多推荐