北京字典价格联盟

查找函数哪家强?_Excel(勇哥分享)

只看楼主 收藏 回复
  • - -
楼主

日常工作中,查找类函数使用频率相当的高。Excel提供了多种实现查找功能的函数,有句俗语说得好:不管白猫黑猫,捉到老鼠就是好猫。

不过勇哥觉得艺多不压身,多了解查找功能的实现方法,可以帮助我们梳理清楚Excel的函数功能,抓住Excel的脉络,助力我们成为Excel达人。

本文将介绍6种查询功能的实现思路。


下图是员工的基础信息表

需查找员工的籍贯信息,如下图所示




1


vlookup

在表格数组的首列查找指定的值,并由此返回表格数组当前行中其他列的值。



公式:=vlookup(G2,$A$1:$D$4,4,false)

结果:北京




温馨提示: 

由于查找区域固定,因此第二参数设置为绝对引用。可通过F4切换引用方式

由于籍贯位于查找区域的第四列,因此第三个参数必须设置为4.

由于是精确匹配,因此第四个参数必须设置为false



2


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.通过这种方式,可以实现多条件的查询。无需设置辅助列。


3


index + match

通过match函数找到李四出现的位置,再使用index函数找到对应的籍贯信息

返回表或区域中的值或值的引用,INDEX 有两种形式:数组形式和引用形式



公式:=index(D1:D4,match(G2,A1:A4,0),1)

结果:北京







4


offset + match

先用match函数找到李四出现的位置。再用offset以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。



公式:=offset(D1,match(G2,A1:A4,0)-1,0,1,1)

结果:北京





温馨提示:

由于是相对于D1的偏移量,因此需要偏移需要减1

由于是只取一个单元格的数据,因此区域高度和宽度都设置为1



5


indirect + match

先用match函数找到李四出现的位置,再用indirect返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。



公式:=indirect("D"&match(G2,A1:A4,0))

结果:北京







6


indirect + address + match

先用match找到李四出现的位置,再用address构造出对应的单元格。最后用indirect返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。



公式:=INDIRECT(ADDRESS(MATCH(G2,A1:A4,0),4))

结果:北京






总结

本文介绍了6种查找的方法。从最朴素的vlookup到match与其他定位函数的组合。各有千秋、各有利弊。vlookup需待查找值出现在查找区域的首列,有一定的约束。通过match与其他函数的组合更加的灵活。lookup需要查找区域是有序的,给我们带来了约束,衍生版本的lookup使用方法,可以帮助我们实现多条件查询,而无需使用辅助列。






举报 | 1楼 回复

友情链接