Hello,大家好,对于一对多查询这样的问题,相信很多人都是使用index if small这个函数组合来查找数据,但是使用起来却经常出错,今天就跟大家分享一种比较简单的一对多查询的方法,就是使用FILTER函数,这个函数还能实现自动筛选数据的效果,操作也并不难,下面就让我们来一起操作下吧

filter函数筛选包含个别字的数据(一对多查询与自动筛选)(1)

一、认识FILTER函数

FILTER函数:FILTER函数是一个筛选函数,它可以根据我们设置的条件来筛选数据,

语法:=FILTER(array,include,[if_empty])

第一参数:表示想要筛选的数据区域

第二参数:筛选的条件,它是一个布尔值

第三参数:if_empty,根据条件如果找不到结果,就返回第三参数的值,它是一个可选参数

使用这个函数我们需要注意的是FILTER函数的第二参数的宽度或者高度,必须与第一参数中数据区域的宽度或者高度相等,否则的话函数就会返回错误值。

以上就是这个函数的作用,下面就让我们来一起操作下

二、实现一对多查询

一对多查询的效果就是通过查找一个值来返回多个结果,我们可以将其看做是数据的筛选,通过筛选条件值就可以返回多个结果,如下图,我们想要在数据中找到省份是河南的所有数据,只需要将公式设置为:=FILTER(A1:J40,B1:B40=N2)然后点击回车即可,在这里它是不包含表头的,所以我们需要将表头粘贴过来,然后将日期更改为日期格式即可

filter函数筛选包含个别字的数据(一对多查询与自动筛选)(2)

在这里我们将第三参数省略了,因为它是一个可选参数,使用这个函数还需要注意一点就是我们无法单独更改数据中的某一个值,如果更改了数据的某一个值,函数的就会返回错误值

filter函数筛选包含个别字的数据(一对多查询与自动筛选)(3)

三、实现自动筛选的效果

比如在这里我们想要查找省份是河南省,负责人是鲁班的所有数据,只需要将公式设置为:=FILTER(A1:J40,(B1:B40=L2)*(G1:G40=M2),"查不到结果"),点击回车即可查找到正确的结果,如下图

filter函数筛选包含个别字的数据(一对多查询与自动筛选)(4)

在这里我们将公式设置为:=FILTER(A1:J40,(B1:B40=L2)*(G1:G40=M2),"查不到结果")

第一参数:A1:J40,就是我们需要筛选的数据区域

第二参数:(B1:B40=L2)*(G1:G40=M2),在这里B1:B40=L2代表省份等于河南省的,G1:G40=M2就代表负责人等于鲁班的,我们让这个两个条件相乘来构建正确的条件

第三参数:"查不到结果",这个是一个可选参数,如果找不到正确的结果,就会返回这个值

以上就是这个函数各个参数的意义,使用这个函数我们需要特别注意FILTER函数的第二参数中选择的数据区域,必须与筛选数据区域的高度或者宽度一一对应,否则的话就会返回错误的结果,不过比较可惜的是现在这个函数仅仅在office365版本中才可以使用

以上就是今天分享的方法,怎么样?你学会了吗?

我是excel从零到一,关注我,持续分享更多excel技巧

,