如何制作智能的下拉菜单-下拉菜单怎么制作

我们在录入数据的时候 , 为了录入的便捷性,通常会制作一个下拉菜单 。
有时候,下拉菜单的选项较多,或者不好分类,要从长长的下拉菜单中去选择一个正确的选项 , 就非常的麻烦 。
今天就来给大家分享一个模糊匹配的下拉菜单的制作方法 , 效果如下 。

如何制作智能的下拉菜单-下拉菜单怎么制作

这样,是不是就非常的方便呢?
要实现这样效果也不复杂,只需要用到FILTER函数的动态区域即可 。
注意:此函数目前仅适用于 Microsoft 365版本 。
下面我们就来说一下操作步骤 。
1.获得筛选列表
我们的表格中有一个筛选的列表,你可以放在你工作表的任何位置 , 或者一个单独的工作表里 。
在D2单元格输入关键字的时候 , 可以通过公式,得到一个筛选列表 。


如何制作智能的下拉菜单-下拉菜单怎么制作

这是怎么实现的呢?
我们在K2单元格写下了如下的公式:
=FILTER($H$2:$H$17,ISNUMBER(FIND(CELL("contents"),$H$2:$H$17)))
如何制作智能的下拉菜单-下拉菜单怎么制作

函数解析:
其中黄色部分:CELL("contents")是可以获取到当前活动单元格的值 。
CELL是获取单元格信息的函数,“contents”是获取的单元格内容 。这样,下拉列表才可以根据我们输入的单元格的不同来筛选不同的内容 。
因为filter函数不支持模糊筛选 , 我们用find函数查找包含有输入值(通过CELL函数获取的值)的单元格 。
FIND函数,如果找到了输入值,会返回输入值在字符串中的位置;找不到会返回错误值 。我们用ISNUMBER函数(判断是否为数字)进行判断,如果返回的是数字,证明包含了输入值,会得到“TRUE”,反之,表示没有包含,会得到“FLASE" 。
所以 , 公式的ISNUMBER部分“ISNUMBER(FIND(CELL("contents"),$H$2:$H$17)”会返回一组由true和false组成的数组 。


如何制作智能的下拉菜单-下拉菜单怎么制作

把这组数,作为filter的第二参数,就可以筛选出我们想要的下拉列表,就是这些包含了“g”的下拉选项 。
如何制作智能的下拉菜单-下拉菜单怎么制作

把下拉列表写入数据验证的序列中 。
在目前的EXCEL和EXCEL365中是支持数组的动态扩展区域的,把获得的动态区域写入数据验证的序列中是非常容易的 。
选中D列中想要设置下拉菜单的区域,点击【数据】--【数据验证】 , 然后在设置选项下处选择【序列】,在来源处,写入【$k$2#】(K2是刚才写入公式的单元格) , 这样写可以引用筛选的动态区域作为下拉的列表,而不是像我们平时设置普通下拉菜单一样,是选择的固定区域 。
如何制作智能的下拉菜单-下拉菜单怎么制作

2.设置出错警告
我们需要在【数据验证】--【出错警告】对话框下面 , 取消勾选【输入无效数据时显示出错警告】选项 。
如何制作智能的下拉菜单-下拉菜单怎么制作

好的,到此为止 , 我们的模糊匹配的下拉列表就制作完成了 。
当然这个方法,是对支持filter数组动态区域的版本的方法 。
如果你的是其他版本,可以试试这种方法:更高效的搜索式下拉菜单,你一定要懂!
如果你的是WPS版本,就更简单了 , 因为它本身是支持模糊匹配的下拉菜单的 。
【如何制作智能的下拉菜单-下拉菜单怎么制作】好的,以上就是今天分享的全部内容 。

相关经验推荐