别只会用Xlookup!这个Excel函数才是真正的查询神器,可惜很多人还不会
昨天刚发完Xlookup的教程,后台就有小伙伴问我:“老师,Xlookup确实好用,但它就是最强查询函数了吗?”
说实话,Xlookup确实简单强大,这我承认。但在Excel的函数江湖里,我觉得真正的“查询之王”另有其人——Filter函数。
你可能会疑惑:Filter不是筛选函数吗?跟查询有什么关系?
其实仔细想想,筛选也好,查询也罢,本质上都是“从一堆数据里把我们想要的那些找出来”。只不过Filter干这件事的方式更直接、更干净、更符合人的思维习惯。
今天我就把Filter函数在数据查询中的几个实用场景整理出来,很多都是我这几年实际工作中总结的经验。
一、Filter函数长什么样?
Filter的定位是“筛选函数”,但它的能力远不止筛选。你给它一个条件,它就能自动把符合条件的数据全部提取出来。
语法非常简单:
=FILTER(你要返回的数据区域, 筛选条件, 没找到时显示什么)
三个参数:
-
第一参数:你想从哪块区域拿结果 -
第二参数:筛选规则(写一个判断条件,结果是TRUE或FALSE) -
第三参数:可选的,如果查不到就显示这个
注意一个关键点: 第二参数的行数,必须和第一参数的行数一模一样,否则函数直接报错。
二、入门操作:单条件查询
假设有一张成绩表,我想查“嫦娥”的数学成绩。
公式:=FILTER(D1:D9, A1:A9=G4)
-
D1:D9:数学成绩所在的列 -
A1:A9=G4:判断姓名列里哪些等于G4里的“嫦娥” -
第三参数省略,查不到就默认报错
就这么一句,不用写复杂的嵌套,不用管什么相对引用绝对引用,直接出结果。

三、查不到数据时,让它给你个“面子”
VLOOKUP查不到数据时,返回一个扎眼的#N/A,看着就烦。
FILTER不一样,你可以自定义查不到时显示什么。比如我把查找值改成“嫦X娥”(数据里根本没有这个人):
公式:
=FILTER(D1:D9,A1:A9=G4,"找不到结果")
结果直接显示“找不到结果”,干净又体面。你想显示空白,就把第三参数写成""就行。
这个细节虽然小,但实际工作中特别实用,尤其是做报表给别人看的时候。

四、向左查?FILTER表示没压力
VLOOKUP有个天生的限制——只能向右查询,想查左边的数据得用INDEX+MATCH绕一圈。
FILTER不管这个。比如我想根据“学号”查左边的“姓名”:
公式:=FILTER(A1:A9,B1:B9=G4)
A列是姓名,B列是学号,条件是学号等于G4。想查哪边就查哪边,没有方向限制。

五、多条件查询,逻辑特别清晰
多条件查询在FILTER这里非常直观。比如我想查“2班鲁班”的数学成绩:
公式:
=FILTER(E2:E9,(A2:A9=G3)*(B2:B9=H3))
拆开看:
-
E2:E9:数学成绩 -
A2:A9=G3:班级等于2班 -
B2:B9=H3:姓名等于鲁班
两个条件相乘,表示“且”的关系(同时满足)。如果要用“或”的关系,把乘号换成加号就行。逻辑清晰,不像某些函数写起来又套又绕。

六、一次查出多列数据
FILTER返回什么,完全由第一参数说了算。如果第一参数选了两列,它就返回两列;选了三列,它就返回三列。
比如我想查几个人的完整信息(姓名、班级、成绩):
公式:
=FILTER($B$2:$D$8,$A$2:$A$8=F3)
这里用了绝对引用(加$符号),因为公式要往下拖,数据区域不能跟着动。
拖一下公式,每个人的所有信息一次性全出来,不用反复写公式。

七、一对多查询,FILTER的拿手好戏
什么是一对多?就是一个条件对应多条数据,比如找出一个班级里所有学生的姓名。
公式:=FILTER(B2:B13,A2:A13=E3)
A列是班级,B列是姓名,E3里写的是“1班”。所有1班的学生一次性全部列出来,不用数组公式,不用按三键。
这个场景在Xlookup里处理起来就比较麻烦,但在Filter这里就是常规操作。

八、配合MAX/MIN,查最大值最小值
FILTER还可以跟其他函数配合使用,解决更复杂的需求。
比如我想查“鲁班”最后一次操作的时间。数据表里记录了鲁班多次操作的时间,我想找出最晚的那一次:
公式:=MAX(FILTER(B2:B25,A2:A25=D2))
FILTER先把所有鲁班的时间筛出来,MAX取最大值。想查最早一次,把MAX换成MIN就行。
这个组合在处理日志、考勤、订单记录的时候特别实用。

写在最后
回到开头那个问题:Xlookup和Filter谁更强?
其实没必要分个高低。Xlookup在精确匹配、查找单个值的时候确实顺手,但如果你需要返回多条结果、做多条件查询、或者查左边的数据,Filter会更直接。
如果你昨天刚看完Xlookup的教程,今天再把Filter这几个用法练一练,基本上90%的数据查询场景你都能轻松应对了。
你工作中遇到过哪些用Xlookup解决不了的查询问题?欢迎来评论区聊聊~
PS:如果觉得这篇文章对你有帮助,点个「在看」支持一下,下期聊!
夜雨聆风