日常工作中,查找类函数使用频率相当的高。Excel提供了多种实现查找功能的函数,有句俗语说得好:不管白猫黑猫,捉到老鼠就是好猫。
不过勇哥觉得艺多不压身,多了解查找功能的实现方法,可以帮助我们梳理清楚Excel的函数功能,抓住Excel的脉络,助力我们成为Excel达人。
本文将介绍6种查询功能的实现思路。
下图是员工的基础信息表
需查找员工的籍贯信息,如下图所示
vlookup
在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。
公式:=vlookup(G2,$A$1:$D$4,4,false)
结果:北京
温馨提示:
由于查找区域固定,因此第二参数设置为绝对引用。可通过F4切换引用方式
由于籍贯位于查找区域的第四列,因此第三个参数必须设置为4.
由于是精确匹配,因此第四个参数必须设置为false
lookup
从单行或单列区域或者从一个数组返回值,LOOKUP 函数具有两种语法形式:向量形式和数组形式。
公式:=lookup(G2,A1:A4,D1:D4)
结果:北京
温馨提示:
在使用lookup的时候,待查找区域需要按照升序进行排序。否则查找不到正确的籍贯信息
这种方法需要保证查找区域数据是升序排序的,如果忘记排序就无法查找籍贯信息,下面介绍一种一劳永逸的方法。
公式:=lookup(1,1/(A1:A4=G2),D1:D4)
结果:北京
温馨提示:
这里使用1/(A1:A4=G2),构造出一个0,1的数组。当待查找区域的值等于G2的时候则返回1,反之为0.通过这种方式,可以实现多条件的查询。无需设置辅助列。
index match
通过match函数找到李四出现的位置,再使用index函数找到对应的籍贯信息
返回表或区域中的值或值的引用,INDEX 有两种形式:数组形式和引用形式
公式:=index(D1:D4,match(G2,A1:A4,0),1)
结果:北京
offset match
先用match函数找到李四出现的位置。再用offset以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。
公式:=offset(D1,match(G2,A1:A4,0)-1,0,1,1)
结果:北京
温馨提示:
由于是相对于D1的偏移量,因此需要偏移需要减1
由于是只取一个单元格的数据,因此区域高度和宽度都设置为1
indirect match
先用match函数找到李四出现的位置,再用indirect返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。
公式:=indirect('D'&match(G2,A1:A4,0))
结果:北京
indirect address match
先用match找到李四出现的位置,再用address构造出对应的单元格。最后用indirect返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。
公式:=INDIRECT(ADDRESS(MATCH(G2,A1:A4,0),4))
结果:北京
总结
本文介绍了6种查找的方法。从最朴素的vlookup到match与其他定位函数的组合。各有千秋、各有利弊。vlookup需待查找值出现在查找区域的首列,有一定的约束。通过match与其他函数的组合更加的灵活。lookup需要查找区域是有序的,给我们带来了约束,衍生版本的lookup使用方法,可以帮助我们实现多条件查询,而无需使用辅助列。
对于查找,您还有什么好的方法,可以回复给勇哥留言。
更多文章
联系客服