在Excel用数据验证制作下拉列表很简单,可以参考之前的文章
也常有学员抱怨,数据源内容太多,数据验证下拉列表太麻烦了,找个客户名称也很不方便。
问题是:如何制作可以带模糊匹配筛选的下拉列表?比如下图的效果。
在以前的版本中要实现这个功能是 难 上 加 难!!
现在呢,用Microsoft 365(以前的Office 365)可以轻松实现。
今天汪站长给你来演示,主要用到两个动态数组函数FILTER和UNIQUE。
01. 动态数组函数
使用动态数组,返回值将自动“输出”到相邻单元格中(未使用的)。使用动态数组函数,只需要编写一个简单的公式,而不是编写复杂的数组公式来解决多单元格问题。Microsoft 365新增了7个动态数组函数:FILTER,UNIQUE,SORT,SORTBY,SEQUENCE,SINGLE和RANDARRAY。
FILTER函数可以实现一对多和多对多的查询,见下图。
返回多个条件的 FILTER
使用乘法运算符 (*),以返回数组范围 (A5:D20) 中包含“苹果”且位于东部区域的所有值:
=FILTER(A5:D20,(C5:C20=H1)*(A5:A20=H2),””)。
UNIQUE 函数返回列表或范围中的一系列唯一值。
返回一系列值或名称中的唯一值
请注意,这些函数都不需要绝对引用,因为它们仅存在于一个单元格中,并将其结果溢出到相邻单元格。
02. FILTER+UNIQUE 筛选不重复值
用FILTER、ISNUMBER和FIND函数,提取包含F3单元格(目前是“贸易”)的客户名称,会是重复的。
H3单元格输入公式
=FILTER(B2:B831,ISNUMBER(FIND(F3,B2:B831)),””)
再用UNIQUE+FILTER这个经典实用的组合,提取包含“贸易”的不重复客户名称。
H3单元格输入公式
=UNIQUE(FILTER(B2:B831,ISNUMBER(FIND(F3,B2:B831)),””))
03. 设置数据验证序列
在设置数据验证序列时,不同之处在于引用来源只选择上述公式所在的单元格H3,最后一定要加上 # ,表示引用动态数组结果。
注意,一定要取消出错警告的默认选项。
可以做出根据单元格输入内容模糊匹配的下拉列表。
用FILTER+UNIQUE+数据验证同样可以做出多对多查询效果,如下图。
B6单元格中输入公式
=FILTER(订单明细!B2:D831,(订单明细!B2:B831=订单筛选!B2)*(YEAR(订单明细!C2:C831)=订单筛选!B3),””)

微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!