乐于分享
好东西不私藏

Excel制作模糊匹配的下拉列表,用这两个动态数组函数

Excel制作模糊匹配的下拉列表,用这两个动态数组函数

在Excel用数据验证制作下拉列表很简单,可以参考之前的文章

《4个步骤用Excel制作二级联动下拉列表

也常有学员抱怨,数据源内容太多,数据验证下拉列表太麻烦了,找个客户名称也很不方便。

问题是:如何制作可以带模糊匹配筛选下拉列表?比如下图的效果。

在以前的版本中要实现这个功能是  难 上 加 难!!

现在呢,用Microsoft 365以前的Office 365)可以轻松实现。

今天营长给你来演示,主要用到两个动态数组函数FILTERUNIQUE

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),"")

最新Excel 365/WPS 中的文本处理函数

竞争力:WPS应用与DeepSeek AI智能办公实战会员课程

为什么你的数据分析说不服老板?——用 QClaw 重建分析逻辑