简单易学的Excel多级联动,让你的数据输入更高效
如何做到能连续下拉2次菜单,其中第2次下拉菜单的数据源会根据第1次下拉选择的内容而变动呢?
示例:如下图,如果在省份里选择了“山东省”,居住城市的下拉菜单里只出现山东省里的所有城市选项,而不出现其他省里的城市,如何实现呢?
又如:先点选部门,然后姓名会根据选择的部门,出现各部门下相应的各员工名单。
这是二级联动菜单制作问题。
二级联动菜单是指,当我们选择一级菜单后,对应的二级菜单会随着一级菜单的不同,选项也会不同。
二级菜单的创建方法有很多种,最常用的莫过于,通过indirect函数创建。
我们拿第一个示例说明:思路是创建省份一级下拉菜单,对应的市名是二级下拉菜单的联动菜单。
注意:以下操作是在Excel 2019版本中进行的,不同版本,操作界面会有些许差异~
名称:可以在Excel中代替单元格引用、常量、公式或表。
比如将B2:B10区域定义为名称"月工资”,那么公式=SUM(月工资)就是=SUM(B2:B10)。
本例中,当我们定义名称“山东省”时,那么在后续的INDIRECT函数引用中,“山东省”就能代替“济南市、青岛市、烟台市…”Step1 选中省市区域
用鼠标选取包含省、市名的若干列数据,但不要选择空单元格。
(可以通过Ctrl+G调出定位条件,设置定位条件为常量,以此来选取非空数据区域)
在菜单栏中切换到【公式】选项卡 → 选择【定义的名称】分区 → 点击【根据所选内容创建】
在弹出的菜单中,勾选【首行】选项,来创建各个省份的“名称”,各“名称”的值为对应着的相应城市名。
为区域中的省份列创建一级菜单,创建方法通过“引用区域”的方式,直接将全国的省份信息的区域作为数据来源,方法雷哥在介绍一级下拉菜单时讲过,这里不赘述。
选中【市】列需要设置的单元格区域 → 在【数据验证】-验证条件中选择【序列】→【来源】中输入公式=INDIRECT($B4)→点击【确定】,此时会弹出错误提示,点击【是】继续下一步即可。
这里提示“出错”是因为此时B4单元格还未选择省份,数据为空,所以找不到数据源,但不影响二级菜单的设置。
以上就完成了二级联动菜单的设置,最终功能效果。INDIRECT函数为间接引用,他可将文本转化为引用。
那么什么是间接引用?它与直接引用的不同是什么?
雷哥用一个例子简单说明:
B3单元格里是"E3",如果我们用INDIRECT函数输入=INDIRECT(B3),此时将B3里的文本E3变成了引用,最终输出的是E3单元格的内容“裘*冬”,而直接引用=B3的结果,是"E3"。
所以,在实例来源中输入的公式=INDIRECT($B4)时,首先B4单元格中的值,假如我们选了“山东省”,而INDIRECT可以将文本“山东省”换成引用,“山东省”已经定义为名称,代表的是“济南市、青岛市、烟台市……”,所以二级下拉菜单中会出现济南市、青岛市、烟台市。
以上二级联动设置,你学会了吗?
动手练习会了才是硬道理,操练走起来吧~
需要保留本文链接地址:http://www.excelxx.com/xuexixinde/13644.html