我是【桃大喵学习记】,欢迎大家关注哟~,每天为你分享职场办公软件使用技巧干货!
——首发于微信号:桃大喵学习记
在日常工作中,很多小伙伴还习惯使用VLOOKUP函数进行Excel数据查询筛选。今天跟大家分享的是WPS中强大的筛选函数FILTER,可以轻松实现单条件、多条件筛选查询、模糊查询、不连续列数据查询等多种功能。通过下面FILTER函数4大必会经典用法,告诉你FILTER凭什么吊打VLOOKUP。
FILTER函数介绍
功能:FILTER是基于定义的条件筛选一系列数据的函数,它由数组,包括,空值三个参数所构成。
语法:=FILTER(数组,包括,空值)
第1个参数【数组】:就是筛选区域
第2个参数【包括】:就是筛选列=筛选条件
第3个参数【空值】:可以忽略,这个参数就是如果出现错误值可以设置返回信息。
用法一:单条件筛选查询
如下图所示,我们在右侧表格中根据姓名筛选出左侧表格对应的其它信息。
在目标单元格输入公式:
=FILTER(B:D,A:A=F3,"")
然后点击回车,下拉填充数据即可

解读:
公式中B:D就是要返回的筛选数据区域;
A:A=F3就是判断条件,查询表格中的姓名等于员工信息表中的A列姓名,然后返回查询数据,否则返回空值。
用法二:多条件筛选查询
如下图所示,还是用上面的实例,只是右侧查询表格是根据“姓名”和“部门”两个条件查询,横向返回查询结果。
在目标单元格输入公式:
=FILTER(B:C,(A:A=F3)*(D:D=G3),"无数据")
然后点击回车即可

解读:
①公式中第二参数:多条件筛选使用的是(A:A=F3)*(D:D=G3),有几个条件就用括号()和星号*连接,星号*的意思就是AND且的意义,会筛选出同时满足这几个条件的查询结果。如果查询的空值就返回第三参数:"无数据"。
②B:C是筛选区域,符合条件即返回数据。
③万能公式
=FILTER(返回数组,条件1*条件2*条件N,"无数据返回")
(备注:多条件同时满足)
=FILTER(返回数组,条件1+条件2+条件N,"无数据返回")
(备注:多条件至少一个满足)
用法三:多条件模糊查询
如下图所示,我们通过姓名关键词和具体所属店铺,跨表查询员工销售明细信息。

只需在目标单元格输入公式:
=IF(B1<>"",FILTER(员工销售明细!A:E,(ISNUMBER(SEARCH(B1,员工销售明细!B:B)))*(员工销售明细!C:C=D1),"没有找到数据"),"请输入关键词")然后点击回车即可

解读:
1、首先使用IF函数判断关键词B1(姓名)是否为空,不为空执行FILTER函数查询,否则返回“请输入关键词”。
2、我们要知道FILTER函数自身是不支持模糊查询的,这时我们就需要借助FILTER+SEARCH来实现模糊查找。
①第1参数:员工销售明细!A:E 就是返回查询结果的数据范围;
②第2参数:查询条件,使用ISNUMBER+SEARCH组合:
SEARCH函数在“关键词”B1单元格中查找“员工销售明细!B:B”单元格中的内容。如果找到了,返回找到内容的起始位置。否则,返回一个错误值。
ISNUMBER函数主要用于判断SEARCH函数的结果是否为数字,如果是数字(表示找到了字符串),返回TRUE;如果是错误值(表示未找到字符串),返回FALSE。然后再跟另一个条件(员工销售明细!C:C=D1)用星号(*)连接,2个条件同时满足返回结果,否则指定错误值。
③第3参数:如果数据不满足条件,就返回一个指定信息。
特别提醒:
SEARCH函数在进行模糊查询时是不区分字母大写小的,如果需要区分大小写可以改成FIND函数。
用法四:任意不连续列数据查询
1、FILTER+HSTACK公式组合
如下图,左侧是不同分公司的员工信息,我们需要根据“公司名称”,筛选出对应公司员工的名称和工资信息,这两列数据是不连续的。
在目标单元格中输入公式:
=FILTER(HSTACK(B:B,D:D),A:A=H2)
然后点击回车即可

解读:
①上面(FILTER+HSTACK)组合公式本质就是FILTER函数单条件查询。
②第1参数:筛选区域HSTACK(B:B,D:D),就是通过HSTACK函数把不连续的列按水平方向重新合并到一起。
③第2参数:筛选条件A:A=H2,就是根据公式名称筛选数据。
2、CHOOSECOLS+FILTER函数组合
如下图所示,我们需要根据右侧表格中的部门和工龄信息,在左侧表格数据中提取出符合条件的姓名以及对应的基本工资。
在目标单元格中输入公式:
=CHOOSECOLS(FILTER(A2:F10,(B2:B10=H3)*(C2:C10>=I3)),{1,4})
然后点击回车即可

解读:
上面的组合公式逻辑也非常简单,公式首先使用FILTER函数,在A2:F10单元格数据区域中筛选出符合两个条件的所有数据,再使用CHOOSECOLS函数,返回数组中的第1列和第4列。
以上就是【桃大喵学习记】今天的干货分享~觉得内容对你有所帮助,别忘了动动手指点个赞哦~。大家有什么问题欢迎关注留言,期待与你的每一次互动,让我们共同成长!