专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  这些函数都学好,领导把你当成宝 ·  3 天前  
Excel之家ExcelHome  ·  计算排名和年龄,典型公式请收好 ·  4 天前  
Excel之家ExcelHome  ·  一键破解:工作簿保护和工作表保护 ·  3 天前  
Excel之家ExcelHome  ·  多区间判断,这几个公式都挺好 ·  4 天前  
Excel之家ExcelHome  ·  实用技巧顶呱呱,月入三千笑哈哈 ·  6 天前  
51好读  ›  专栏  ›  Excel之家ExcelHome

数据查询一朵花,高效办公全靠她

Excel之家ExcelHome  · 公众号  · Excel  · 2024-12-05 06:45

正文

小伙伴们好啊,今天咱们说说数据查询那些事儿。
先说说VLOOKUP,函数作用是在数据区域的最左侧列中查找指定内容,并返回与之对应的右侧其他列的内容。
常用方法为:
VLOOKUP(要找谁,在哪个区域的首列查找,返回第几列的内容,[匹配方式])
比如下图中,要根据I3单元格指定的省份,在左侧对照表中查询省会城市,可以使用以下公式:
=VLOOKUP(I3,B2:G8,3,0)
公式表示在B2:G8这个区域的首列中查找指定内容“江苏”,并返回该区域第三列的信息,第四参数使用0,表示使用精确匹配的方式。
美中不足,VLOOKUP函数只能从左到右查询,如果想从上到下查询,就只能请出VLOOKUP的二弟HLOOKUP了。

HLOOKUP函数与VLOOKUP函数的语法非常相似,用法基本相同。
区别在于VLOOKUP函数在纵向区域中查询,而HLOOKUP函数则在横向区域中查询。
比如下图中,要根据B5单元格的姓名,在1~3行这个区域中查询对应的成绩,可以使用以下公式完成:
=HLOOKUP(B5,1:3,3,FALSE)
公式表示在1:3这个区域的首行中查找指定内容“池海东”,并返回该区域第三行的信息,第四参数使用FALSE,也表示使用精确匹配的方式。
1:3是啥意思呢?就是1~3行的整行引用,和使用“A:B”表示A~B列的整列引用是类似的写法。

如果要任意方向的查询,最灵活的应该是LOOKUP。
如下图所示,要根据H2单元格中指定的姓名,在C列查询到该姓名,并返回B列对应的准考证号:
=LOOKUP(1,0/(C2:C10=H2),B2:B10)
LOOKUP函数的模式化写法为:
=LOOKUP(1,0/(包含条件的一行或一列=指定的条件),要返回内容的行或列)
如果要实现多个条件的查询,模式化写法为:
=LOOKUP(1,0/(条件区域1=指定条件1)/(条件区域2=指定条件2),要返回内容的行或列)

XLOOKUP函数也在数据查询中经常使用。这个函数的写法为:
=XLOOKUP(查找值,查找范围,结果范围,[容错值],[匹配方式],[查询模式])
前三个参数必需,后面几个参数可省略。
如下图所示,要根据G1的部门,在A列查询该部门并返回B列对应的负责人姓名。公式为:
=XLOOKUP(G1,A2:A11,B2:B11)
第一参数是查询的内容,第二参数是查询的区域,查询区域只要选择一列即可。第三参数是要返回哪一列的内容,同样也是只要选择一列就可以。
公式的意思就是在A2:A11单元格区域中查找G1单元格指定的部门,并返回B2:B11单元格区域中与之对应的姓名。
由于XLOOKUP函数的查询区域和返回区域是分开的两个参数,这样就不用考虑查询的方向问题了,不仅能实现从左到右,还能从右到左、从下到上、从上到下等任意方向的查询。
如下图所示,要根据G1的部门,在B列查询该部门,并返回A列对应的负责人姓名。公式为:
=XLOOKUP(G1,B2:B11,A2:A11)
使用XLOOKUP函数,还能根据指定的查询内容,返回不同列中的内容。
如果一个查询值有多个对应的匹配结果,可以使用FILTER函数,她的作用是筛选符合条件的单元格。常用写法为:
=FILTER(要返回内容的数据区域,指定的条件,[没有记录时返回的内容])
借助数组溢出功能,这个函数让数据查询变得非常便捷。
如下图所示,希望提取出左侧列表中“生产部”的所有人员姓名。
E2单元格输入以下公式,按回车,公式结果会自动溢出到其他单元格。
=FILTER(A2:C11,B2:B11="生产部")
公式中的A2:C11是筛选区域,可以是一列或者多列。B2:B11="生产部"是筛选条件,如果筛选条件的对比结果返回TRUE,FILTER函数就返回与之对应的筛选区域中的内容。
如下图所示,希望提取出部门为“生产部”,并且年龄大于30岁的所有记录。
F2单元格输入以下公式,按回车。
=FILTER(A2:C11,(B2:B11="生产部")*(D2:D11>30))
本例中,筛选条件使用两个条件分别进行对比,得到两组由TRUE或FALSE构成的内存数组。
再将内存数组中的每个元素逐一相乘。如果两个条件同时符合,相乘结果为1,否则返回0。FILTER函数最终返回筛选区域中与1对应的全部内容。
如果把两个筛选条件换成加号,筛选出的结果就是二个条件符合其一的内容。

好了,今天咱们分享的内容就是这些吧,祝大家一天好心情。

图文制作:祝洪忠
1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。
2、点击右上角【···】,在下拉菜单中点击【设为星标】。
设置星标后,小伙伴们就不用担心错过咱们的推送了!
设为星标,精彩内容不错过