连载的前面 2 篇文章我们已经了解了【高级筛选】如何定义或指定条件区域,其实关于条件区域,我们还可以在条件的部分使用函数自定义筛选条件,如此 Excel 的筛选将会变得更加灵活。
本节,小鱼将继续适应上一篇文章中提到的会员信息表和订单明细表,筛选出没有购买记录的不活跃会员。
如果是筛选有购买记录的会员,问题就会变得非常简单,高级筛选的条件区域选择订单表中的账户 ID 列即可。可现在的任务是筛选没有购买记录的会员,应该怎么做呢?
小鱼的办法是使用 COUNTIF
函数定义筛选条件,在订单明细表中出现 0 次的账户 ID 就是我们要筛选的不活跃会员。
一. 使用函数定义筛选条件
COUNTIF 函数可以统计出现的次数,其函数表达式为:
=COUNTIF(区域,条件)
在指定区域中,如果符合条件,就进行计数统计。因此,我们可以根据统计结果判断是否存在,结果等于 0 ,说明不存在,结果大于 0 ,则说明存在。
温馨提示: COUNTIF 是数据分析经常使用的函数,不仅可以统计重复值,又可以判断是否存在。
下面,我们使用 COUNTIF
函数定义【高级筛选】需要的条件区域。首先,我们需要确定筛选的相关字段(内容必须相同,顺序可以不同)。
由于本次筛选的条件是函数,而不是会员信息表中的任何标题字段。Excel 规定 如果使用函数自定义筛选条件,那么条件区域的首行标题,需要设置为空。
比如,我们要在 C4
单元格录入条件,那么 C3
单元格就应该保持空:
接下来,在 C4
单元格录入筛选条件。首先,录入公式 =COUNTIF(
,根据提示接下来需要录入参数 range
计数的范围:
来到订单明细表,点击选中 C
列,即账户 ID 列:
紧接着输入 ,
号,根据提示录入 criterial
条件。来到会员信息表,点击选中 B2
单元格,作为计数的条件。
输入 )
将函数表达式补充完整,按下回车之后,回到条件区域,我们发现在 C4
单元格统计了账户 ID wph252101 在订单明细表账户 ID 列出现的次数为 3 。
温馨提示:位于条件区域的函数 COUNTIF 只针对会员表中的第一个账户 ID 进行统计计数即可,高级筛选会自动向下对数据源的所有记录进行判断。
不过,我们的筛选条件还没完成,我们需要筛选的是出现次数为 0 的记录,因此需要在公式的后面补充 =0
,回车之后 C4
单元格的值变成了 FALSE
:
这代表着 B2
单元格的用户存在购买记录,不会被我们筛选出来。只有当结果为 TRUE
时,说明满足筛选条件,系统才会筛选出来。
温馨提示:由于本次筛选只有一个筛选条件,因此无需设置逻辑关系。
二. 执行高级筛选
至此,准备工作就完成了,可以开始我们的高级筛选了。点击选择第 5 行及以下的任意单元格,点击【数据】选项卡下的排序和筛选【高级】选项:
弹出高级筛选对话框,选择【将结果复制到其他位置】,列表区域输入框请选中会员表:
将鼠标光标放到条件区域输入框,选择我们设置好的条件区域,包括标题字段(此处为空)和条件:
最后,将鼠标光标放到【复制到】输入框,选择 A6
单元格:
点击确定之后,所有没有产生购买订单的不活跃会员就被我们筛选出来了。
至此,本节关于使用函数自定义筛选条件的学习就完成了,下面小鱼对此部分内容进行一番总结吧~
三. 总结
使用高级筛选时,我们可以结合函数完成更加灵活和复杂的筛选过程,即使用函数自定义筛选条件。其中,条件区域的首行不能使用字段名称,必须设置为空单元格,作为筛选条件的公式通常返回 TRUE
FALSE
逻辑值。筛选时将逻辑值为 TRUE
的记录视作满足条件,进行筛选保留。
网友评论