Excel超强公式!对任意列数据查询,一招搞定!
我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!
——首发于微信号:桃大喵学习记
日常工作中我们经常需要对Excel表格数据进行筛选查询,今天就跟大家分享一个超强函数组合公式组合(CHOOSECOLS+FILTER+MATCH),轻松实现根据多个条件筛选查询,返回不连续列数据信息,以及返回的信息列不固定可动态变化筛选。
一、下面下对CHOOSECOLS+FILTER+MATCH这3个函数进行简单介绍
1、CHOOSECOLS函数介绍
功能:该函数用于根据指定的条件或索引,从一组数据中选择特定的列。也就是返回数组或引用中的列。
语法:=CHOOSECOLS(数组,列序号1,列序号2,……)
基本用法:
如下图所示,我们想从左侧数据表格中只提取第1列(姓名)和第5列(合计)这两列数据。
只需在目标单元格中输入公式:
=CHOOSECOLS(A1:E10,1,5)
然后点击回车即可
解读:
公式中A1:E10就是数组数据区域,后面的1,5就是分别返回数组的列序号,就是返回第1列和第5列数据。
2、MATCH函数介绍
功能:返回在指定方式下与指定数组匹配的数组中元素的相应位置
语法:=MATCH(查找值,查找区域,[匹配类型])
3、FILTER函数介绍
功能:FILTER是基于定义的条件筛选一系列数据的函数,它由数组,包括,空值三个参数所构成。
语法:=FILTER(数组,包括,空值)
第1个参数【数组】:就是筛选区域
第2个参数【包括】:就是筛选列=筛选条件
第3个参数【空值】:可以忽略,这个参数就是如果出现错误值可以设置返回信息
二、(CHOOSECOLS+FILTER+MATCH)公式组合:轻松返回不连续列数据信息
如下图所示,我们需要根据右侧表格中的部门和工龄信息,在左侧表格数据中提取出符合条件的姓名以及对应的基本工资。
下面直接上干货,在目标单元格中输入公式:
=CHOOSECOLS(FILTER($A$2:$F$10,($B$2:$B$10=$H$3)*($C$2:$C$10>=$I$3)),MATCH(H5,$A$1:$F$1,0))
然后点击回车向右填充即可
解读:
上面的组合公式逻辑也非常简单,公式首先使用FILTER函数,在A2:F10单元格数据区域中筛选出符合两个条件的所有数据,因为需要想右填充数据,所以查询区域和条件都要绝对引用;然后再通过MATCH函数查找返回列字段在左侧表头中所对应的列序号;最后使用CHOOSECOLS函数,按照MATCH函数获取的返回列号,返回最终结果列数据即可。
当然,如果我们不想使用MATCH函数,我们也可以直接手动输入要返回的列号,比如说输入第1列和第4列。
在目标单元格中输入公式:
=CHOOSECOLS(FILTER(A2:F10,(B2:B10=H3)*(C2:C10>=I3)),{1,4})
然后点击回车即可
三、(CHOOSECOLS+FILTER+MATCH)公式组合:实现返回的信息列可动态选择
如下图所示,我们根据姓名来查询右边表格对应的信息,返回的信息列不固定是动态变化。
在目标单元格中输入公式:
=CHOOSECOLS(FILTER(B2:E8,A2:A8=G2,""),MATCH(H1,B1:E1,0))
然后点击回车即可
解读:
同样的道理组合公式中首先实用FILTER函数根据名称查找出员工的对应所有信息;然后再通过MATCH函数查找右侧返回列字段在左侧表头中所对应的列序号;最后再使用CHOOSECOLS函数把通过FILTER函数查询的结果,按照MATCH函数获取的返回列号,返回最终结果列数据即可。
以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!