大家好,欢迎来到今天的Excel技巧课堂。今天我们要探索的是Excel中的一个超级英雄——Filter函数。它能够让我们的数据筛选工作变得既快速又高效。如果你还在手动筛选数据,那你可就out了!准备好了吗?让我们一起开启数据筛选的新世界大门。
什么是FILTER函数
首先,让我们来了解什么是Filter函数。Filter函数是一个动态数组函数,它可以在Excel 365或Excel 2019的最新版本中使用。它允许我们根据指定的条件筛选数据,并返回符合条件的数据集。
接下来,我会详细讲解Filter函数的语法和使用方式。Filter函数的基本语法是这样的:
FILTER(𝑎𝑟𝑟𝑎𝑦,𝑖𝑛𝑐𝑙𝑢𝑑𝑒,[𝑖𝑓𝑒𝑚𝑝𝑡𝑦])FILTER(array,include,[ifempty])
array 是你要筛选的数组或范围。
include 是一个条件,用来指定哪些数据应该被包含在结果中。
if_empty 是可选参数,用来指定如果没有符合条件的数据时返回什么值。
示例一
假设我们有一个员工名单,我们想要筛选出所有姓"李"的员工。使用Filter函数,我们可以这样写:
=FILTER(A1:E13,C1:C13="李")
这里A1:D13是员工名单的范围,C1:C13是包含姓"李"的条件

示例二
如果我们想要筛选出销售额超过10000的所有产品,我们可以这样写:
=FILTER(A1:B14,B1:B14>10000)
这里A1:B14是产品数据的范围,B1:B14>10000是销售额超过10000的条件。

示例三
在这个示例中,我们将展示如何使用Filter函数进行多条件筛选。假设我们有一个销售数据表,我们想要找出所有在2024年第二季度销售额超过5000美元且利润率超过20%的交易。
=FILTER(A2:D50,(YEAR(B2:B50)=2024)*(LEN(2^MONTH(B2:B50))=2)*(C2:C50>5000)*(D2:D50>0.2))
这里,我们使用了数组公式的乘法运算来表示逻辑与(AND)关系,确保所有条件同时满足。
通过日期计算季度,首先通过month函数提取月份,然后通过len(2^month())即可知道是第几季度了。

示例四
这个示例中,我们将展示如何使用通配符进行模糊匹配。假设我们有一个产品列表,我们想要找出所有以"李"开头的员工。
=FILTER(A1:D13,LEFT(C1:C13)="李")

利用LEFT函数提取姓氏。
示例五
我们将展示如何结合其他Excel函数进行更复杂的筛选和排序。跨表筛选工时大于30个小时的开发人员记录(不能有重复值),并按照日期升序,和核定工时降序进行排序。
=SORT(UNIQUE(FILTER(原数据!A2:D131,原数据!D2:D131>30)),{1,4},{1,-1})

UNIQUE函数去掉筛选出来的重复的数据,然后再使用SORT函数进行多列排序,因此排序的列为第1、第4列,排序方式分别是升序和降序排序。这两个参数分别用常用数组大括号“{}”括起来。
通过这些实例,我们可以看到Filter函数的灵活性和强大功能。无论是简单的条件筛选,还是结合其他函数进行复杂的数据操作,Filter函数都能轻松应对。
现在,轮到你们了!在评论区告诉我,你打算如何使用Filter函数来提高你的工作效率?或者,如果你有任何问题,也欢迎随时提问。让我们一起讨论,共同进步。