分享

查找函数哪家强?

 L罗乐 2016-09-19

日常工作中,查找类函数使用频率相当的高。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使用方法,可以帮助我们实现多条件查询,而无需使用辅助列。

对于查找,您还有什么好的方法,可以回复给勇哥留言。


更多文章

文本处理,其实很简单

合并单元格,想说爱你很容易

Lookup类函数让你如鱼得水

掌握日期函数,让您事半功倍

不懂统计函数、你不加班谁加班?


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多