Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

2021年10月10日20:50:32Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题已关闭评论 902 views
微信公众号 【EXCEL880】 QQ群【341401932】
课程咨询 加我微信EXCEL880B 试学网址http://v.excel880.com

当Excel表格下拉菜单中的选项非常多时,你就需要一个搜索式下拉菜单。

最佳实践请参考我的VBA作品 超级拼音输入提示组件

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

搜索式下拉菜单

就像百度搜索框一样,输入一部分内容,就会自动联想出相关的选项供你选择,无关的会自动被过滤掉。例如输入一个字“蔡”,就会把所有姓“蔡”的姓名都列出来。

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

普通下拉菜单

而如果你使用普通的下拉菜单,你要拖到什么时候才会找到自己想要的数据?还不如不用下拉菜单呢。

所以,搜索式下拉菜单是不是挺实用的?

制作搜索式下拉菜单的步骤

先给原始数据按照姓名排序,接着就和普通的下拉菜单一样创建序列,在“来源”中输入公式“=OFFSET($A$1,MATCH(E2&"*",$A$2:$A$281,0),0,COUNTIF($A$2:$A$281,E2&"*"),1)”。

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

公式解释

整个公式其实就是一个OFFSET函数,OFFSET函数的第二个参数是个Match函数,用于获取以E2单元格内容开头的第一个匹配值的位置,例如你在E2中输入“蔡”,那么就会得到3。第四个参数是COUNTIF函数,用于统计以E2单元格内容开头的单元格数量。这样整个公式就会把包含E2单元格内容的所有选项找出来了。

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

如果你想要搜索出包含E2单元格内容的数据,可以将公式中的“E2&*”替换成“*E2&*”。

错误1

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

按照上面的步骤操作,很多人会遇到的第一个错误就是输入一个字之后,就遇到了Excel的警告。

这是因为,你没有将“数据验证”/“有效性”中的“出错警告”去掉。

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

错误2

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

输入第一个字之后,下拉菜单中的选项虽然少了很多,可是和我们输入的内容完全没有关系啊!

这是因为,你忘记了给所有原始的数据按照姓名排序。

错误3

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

下拉菜单搜索功能没有问题,可是没有得到“座位号”和“销量”。

这其实不是下拉菜单的错误,但因为“座位号”和“销量”是用Vlookup函数获取的(这种情况下,很多人会用Vlookup)。Vlookup函数要求数据升序排列,而表格中的姓名是降序排列的,所以得到了错误的值和空白值。

Excel进阶:做个百度搜索框式的下拉菜单,选项再多也没问题

解决了所有的错误,你就可以得到完美的下拉菜单啦。

PS:这篇文章的步骤针对Excel,WPS中的下拉列表功能默认自动搜索功能,不需要这么麻烦。瞧,WPS也是有优点的嘛。


谢谢阅读,每天学一点,省下时间充实自己。欢迎点赞、评论、关注和点击头像。

表格 定制  数据 合并 处理 分析 VBA 编程 开发 网页