Excel“搜索”式下拉菜单,无需排序,小白慎进!
Excel“搜索”式下拉菜单,无需排序,小白慎进!
Excel1994
实用的数据可视化案例教程,源于Excel,不止于Excel
以下文章来源于Excel表哥 ,作者FunExcel
Excel rapid the world!
上期我们分享了 Excel联想式下拉菜单制作教程 ,可以简化大家在下拉菜单过长时的数据录入工作。
文章末尾给大家提出了一个问题: 为什么下拉列表数据源需要先排序?
今天我们继续分享一个不用对数据源排序也能实现的下拉列表制作方法。
先看最终的效果动图:
今日分享难度指数:★★★★☆
=IFERROR(INDEX(数据源!$B$3:$B$999,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),数据源!$B$3:$B$999),数据源!$B$3:$B$999,""),数据源!$B$3:$B$999,0),2^16),ROW(B1))),"")
▎注意:这是一个数组公式,输入完成后需要按Ctrl+Shift+Enter三键完成数组公式的设置。
这个公式似乎有点长啊!不过公式虽长,我们却可以通过定义名称的形式进行缩减。
然后我们的公式就变短了:
=IFERROR(INDEX(List,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),List),List,""),List,0),2^16),ROW(B1))),"")
=IFERROR(INDEX(List,SMALL(IFERROR(MATCH(IF(FIND(CELL("contents"),List),List,""),List,0),2^16),ROW(B1))),"")
-
FIND函数返回输入的字符 $B$3 在数据源!$B$3:$B$999中每一行字符的起始位置。
IF函数如果匹配到数据则返回数据源中该行数据,否则返回空""(,""也可省略)。
MATCH函数根据IF函数的结果返回在数据源中相应的行号,如果未匹配到$B$3中的关键字则返回#VALUE!错误值。
IFERROR函数则将#VALUE!错误值修改为一个极大值2^16=65536。
-
SMALL函数根据J列查找出来的行号进行排序。由于SMALL函数不支持错误值,这也是上一步必须用IFERROR函数修正MATCH返回结果的原因。
INDEX函数根据SMALL函数返回的符合项从小到大的行号查找出所有的包含关键词的选项。
最后再次通过IFERROR函数屏蔽#REF!引用错误。
至此,终于完成了核心公式的设置。
最后我们把查找关键词替换为CELL("contents")就可以实现任意位置(除了辅助列)输入字符,在F列匹配出数据源中所有包含该关键词的符合项了。
仔细看,WPS确实自带联想式输入技能!
不得不说这是Excel用户非常羡慕的一个功能。那么恰好看到表哥这篇文章的Excel用户的读者朋友,希望能弥补这个小遗憾。
感谢Excel表哥的干货,如果你想了解更多 Excel文件管理、项目管理模板 ,请关注下方表哥的公众号 @Excel表哥 ,在该公众号聊天框回复【 联想式下拉菜单2 】,获取本文件。
链接:https://pan.baidu.com/s/1iEEIdzZeB8w_lVdGGMXARA
提取码:389s
-
Origin(Pro):学习版的窗口限制【数据绘图】 2020-08-07
-
如何卸载Aspen Plus并再重新安装,这篇文章告诉你! 2020-05-29
-
AutoCAD 保存时出现错误:“此图形中的一个或多个对象无法保存为指定格式”怎么办? 2020-08-03
-
OriginPro:学习版申请及过期激活方法【数据绘图】 2020-08-06
-
CAD视口的边框线看不到也选不中是怎么回事,怎么解决? 2020-06-04
-
教程 | Origin从DSC计算焓和比热容 2020-08-31
-
如何评价拟合效果-Origin(Pro)数据拟合系列教程【数据绘图】 2020-08-06
-
Aspen Plus安装过程中RMS License证书安装失败的解决方法,亲测有效! 2021-10-15
-
CAD外部参照无法绑定怎么办? 2020-06-03
-
CAD中如何将布局连带视口中的内容复制到另一张图中? 2020-07-03