168大数据

标题: Excel下拉菜单,轻松多级联动 [打印本页]

作者: 168主编    时间: 2018-9-16 20:15
标题: Excel下拉菜单,轻松多级联动
经常用Excel进行数据收集、整理的朋友,相信你们都遇过各种令人抓狂的事情:
“手机号不是11位”、“面积单位有人写平方米,有人写m2”、“张冠李戴,明明写姓名的地方,写了性别”、“说好写保留一位小数,却提交了整数”、“说好50字以内,却写了500字”……
其实要避免不规范,做表的人就必须提前针对指定单元格进行限制!这样一来,后面的使用者就只能按你的要求,才能正常输入数据了。
Excel里就有一个功能,Excel2010以前叫数据有效性,之后改名叫数据验证,看字面意思就知道是用于判断数据是否有效,验证数据是否按要求输入。会这个功能后,以上遇到的困扰基本上可以解决了。
但还有复杂一些的情况,可能需要逐级限制,如你在线上购物输入收货地址时,省份-城市-区,这种具有层级关联关系的,我们如何实现选择这个省后,下面是对应的城市,以及后续出现对应的区呢?
今天就跟大家分享多级联动下拉菜单的实现方法。以省、地、县级的对应关系为例,来学习制作三级联动下拉菜单。(本文演示版本使用的是Excel 2016,下称的数据验证与Excel 2007中的数据有效性功能及操作一样)
1、先来搞清楚三级联动下拉菜单是什么?
2、整理思路
共三级的下拉菜单,二级依赖一级,三级依赖二级,那就可以定下来制作的顺序:一级-->二级-->三级; 功能上主要是使用Excel的数据验证。
3、制作一级下拉菜单
一级的菜单最简单了,直接在指定单元格中设置数据验证即可:
4、制作二级下拉菜单(多级菜单的重点、难点都在这里)
二级的下拉内容是要根据一级的内容变化而变化的,也就是说给二级的单元格设置数据验证的时候,需要输入一个动态变化的区域。这里介绍一个"indirect函数+定义名称"的做法。
a、给二级的内容定义名称,名称为它对应的一级内容。如给广州市定义名称为广东省,给南京市定义名称为江苏省。
b、设置数据验证,选择用indirect函数动态引用一级单元格内容,即实现当一级为广东省时,二级的菜单数据源就是indirect(广东省),当一级是江苏省时,二级的下拉数据源就是indirect(江苏省)。我们在上一步已定义好名称,名称“广东省”=“广州市”,“江苏省”=“南京市”,通过此法实现了二级的下拉菜单动态变化,是依赖一级的选择结果变化而变化。
c、做好二级菜单后,三级的问题也是同理可得。先给三级的内容设置名称,名称是对应的二级,然后也是通过indirect函数引用二级内容的单元格,实现当二级选择广州市时,三级的下拉数据源就是indirect(广州市)。
就这样,三级下拉菜单就做完了!学会这个技能你做数据收集的时候,就可以提前给单元格设置好各种限制条件,告别垃圾信息输入!
再来回顾总结,多级联动下拉菜单的制作的要点:
1、给下级内容定义名称,名称是对应的上级,然后设置数据验证,用indirect()函数引用上级的单元格。
2、整理数据源的摆放,在定义名称前,建议把各级菜单内容按列存储,然后各列首行的行标题为对应的上一级内容。这样是便于快速地定义名称,选择的功能是“根据所选内容创建”。
3、还有要注意的是,如果各列数据的行数不一样,不要一次性选择所有列进行创建名称,否则会导致出现有空白选项。而需要按F5定位选择常量再操作,或者列数少的情况下,可以逐列进行定义)
扩展知识:
制作联动下拉菜单,除了indirect()函数外,还可以用index+match,offset等办法,大家可以进一步去学习,各方法各有利弊,大家都掌握后可以根据具体情况具体分析使用,重点还是实用!
虽然本文是以三级为例,但过程已涉及到一级、二级制作,你如果是没接触过数据验证这个功能,希望你也能入门了。学会了本文的三级联动菜单做法,那四级、五级、六级都可以按此办法逐级完成,实现方法是相通的。
建议还没掌握这个知识的同学,要跟着以上步骤逐步操作,并实现效果,最后还要思考总结吸收。知识经过深度思考与总结,才会容易吸引,最终为你所用。
来源:数据化管理






欢迎光临 168大数据 (http://www.bi168.cn/) Powered by Discuz! X3.2