分享

巧用Vlookup函数,实现任意条件下的查询,就是这么简单!

 Chosefree 2022-03-27

查询引用,几乎每天都要用到的技巧,除了普通的筛选之外,还可以使用函数公式,最常用的当属Vlookup函数,如果用好Vlookup函数,可以实现任意条件下的查询,你敢相信吗?

一、效果展示。

GIF

从效果图中可以得出,在查询值中不管选择“姓名”还是“部门”,在右侧的区域中都可以显示查询到的信息。敲黑板,查询值中选择的值可以是“姓名”,还可以是“部门”哦。不管选择“姓名”还是“部门”,右侧的区域中都可以显示查询到的信息,如果本部门有多条信息,同时都可以查询到。如何实现了,请继续阅读下文。

二、实现步骤。

1.完善基础信息表。

GIF

方法:

1、在源数据表中最左侧查询值的左侧插入辅助列。

2、在辅助列中输入公式:=(C3=K$3)+(D3=K$3)+B2。

解读:

1、C列、D列分别为“姓名”列和“部门”列,也就是我们要查询的值所在的列;而K列为查询值所在的列。

2、如果查询值等于“姓名”列或者“部门”列的值,则返回1。如果有重复的值,则在上一个值的基础上+B2。

3、B2是相对引用,就是当前计算单元格相对位置的上一行,如果有重复值,在上一行的基础上+1,重复的值形成一个以1开始,逐项+1的序列。敲黑板,B2的相对引用,非常的重要,目的在于给重复的值形成序列。

4、“序号”有什么用了,我们接着往下看。

2、完善查询表。

目的:单击“查询值”下拉列表,选择具体的值,在右侧的查询表区域得到具体的信息。

GIF

方法:

1、完善查询值下拉列表。

2、在右侧查询区域中输入公式:=IFERROR(VLOOKUP(ROW(A1),$B:$I,COLUMN(B2),0),'')。

3、单击查询值下拉列表,得到想要的结果。

解读:

1、公式中共涉及到4个函数,分别为Iferror、Vlookup、Row和Column函数;我们重点解读一下Iferror和Vlookup函数。

2、Iferror函数的功能为:检测指定的表达式是否有错误,如果有,则返回指定的值,如果没有错误,则返回表达式本身的值。语法结构为:=Iferror(表达式,表达式错误时的返回值);公式中,判断的是Vlookup函数的返回值,如果Vlookup函数查询不到指定的值,就会返回错误,此时将错误值返回给Iferror,最后由Iferror函数返回指定的值''(空值)。

3、Vlookup函数的功能为:搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,在进一步返回选定单元格的值;语法结构为:=Vlookup(查询值,数据范围,返回值的相对列数,匹配模式),匹配模式有2种,分别为0和1,0为精准匹配,1为模糊匹配。

4、公式中,Vlookup的查询值为Row(a1),也就是查询值为1、2、3……依次递增的数列,我们在“完善基础信息表”中插入的辅助列,生成的值就是为了给Vlookup函数作为参数使用;数据范围为$B:$I,即B列到I列,观察数据源,B列到I列正好为辅助列到备注列,我们所需要的信息正好是C列到I列,但B列最为查询值所在列,所以B列也应该再数据范围中;返回值的相对列数为COLUMN(B2),即动态获取每列的列数,“姓名”在数据源的第2列,而COLUMN(B2)的返回值正好为2,到达目的,向右填充时,依次返回第3、4、5、6、7、8列的值;匹配模式为0,也就是精准查询。

5、公式中,查询值、返回值所在的列数都是动态获取,同时要注意相对引用和绝对引用的使用,只有同时掌握好这些知识点,对公式才能轻松驾驭哦!

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多