打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【CELL函数】制作可以搜索关键字的下拉菜单!
-01-

效果展示


下图A列是数据源,记录了一些姓名。D列是做好的可以搜索关键字的下拉列表。可以看到,当输入关键字时,下拉列表中只会出现包含关键字的姓名。

这样相当于做了一个筛选,当下拉列表的内容比较多时,通过关键字搜索,会更轻松地找到我们要选择的对象。


-02-

制作过程

下面来分享下实现这种效果的操作步骤。
1)在F列加个辅助列,在F2单元格输入下图的公式,按CTRL+SHIFT+ENTER,这时EXCEL会提示产生循环引用,没关系,点确定,向下填充。

这个公式产生循环引用的原因在于cell函数,CELL("contents")这部分,没有写第2参数,表示获取光标所在单元格(活动单元格)的内容。不清楚这个函数的用法,可以看下我的视频。

在F1单元格输入公式,F1就是光标所在的单元格,也就是F1单元格引用它自身单元格的值,所以形成循环引用。

当在D2单元格输入关键字"王"时,光标所在的单元格就是D2,此时cell函数获取的是D2单元格的内容"王",然后用search函数在A列的每个姓名中查找"王"字,最后通过一系列的运算,把包含"王"的姓名提取到F列中。

2)选中D列的区域,点【数据】-【数据验证】,在【数据验证】的【允许】中选【序列】,来源中输入公式=OFFSET(F$1,1,,COUNTIF(F:F,"><")-1),再点击【出错警告】,取消勾选【输入无效数据时显示出错警告】,点【确定】。

在单元格输入关键字后,点下列按钮,就只出现包含关键字的姓名了。

=OFFSET(F$1,1,,COUNTIF(F:F,"><")-1)这个公式,就是获取F列中包含姓名的区域。把这个区域当作序列的来源。

COUNTIF(F:F,"><")这个公式,是统计F列中包含汉字的单元格个数,它会把公式产生的空文本("")排除掉。因为F列的公式会产生空文本。

这个公式本来的意思是统计F列中大于"<"的有几个单元格。因为汉字大于"<",而文本("")小于"<",所以COUNTIF(F:F,"><")只统计汉字的个数。再用这个个数减去1个表头的个数,就是姓名的个数。

PS:总结一下思路:

首先,通过辅助列把包含关键字的姓名筛选出来;然后,把辅助列中姓名的区域作为序列的来源。

这里获取关键字时需要用到cell函数。也就是用cell函数把所选单元格中的关键字作为条件传回到辅助列的公式中。

之所以可以用数据验证实现,就是在数据验证中写公式不会产生循环引用。想要实现这个效果,其实里面的细节有很多,大家可以体验下。

文件链接:

https://pan.baidu.com/s/1f6a6ejsGfxmNattggzXlwg

提取码:hany
有很多同学有excel函数问题会私下向我请教,由于我时间和精力有限,不能一一回复,请见谅。如果你工作中确实有很多函数问题需要咨询,可以报名我的答疑课程,包含《函数基础课程》视频,课件和一年答疑,只要99元。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
函数简单嵌套,INDEX与MATCH函数相结合,数据查询不再是问题
很重要的EXCEL使用技巧
Excel:VLOOKUP函数
当文本截取“三剑客”遇到find函数,解决80%关键字提取问题
Excel全表查询,输入任一关键字都能查出符合条件的所有信息!
VLOOKUP函数应该怎么用,看完你就明白了~
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服