工作中,我们为了方便数据录入,利用数据有效性,我们可以快速建立一级下拉菜单,非常的方便,但有时候我们需要根据一级下拉菜单的选择,生成对应的二级下拉菜单,我们暂且叫做“二级菜单联动”,比如,一级菜单选择部门后,二级菜单对应会显示子部门或组别;又比如一级菜单显示省份后,二级菜单对应显示对应的市等等,应用的场景很多。但对Excel中二级联动下拉菜单的制作很多人还不会,今天就来和大家分享一下Excel中二级联动下拉菜单,希望对大家有所帮助!
看看下图,需要根据省、市列表建立二级下拉菜单。
第一步,数据有效性建立一级下拉菜单
省份的下拉菜单很容易就搞定,我们利用数据有效性功能,选择A1:D1即可,相信这部对于大家来说,能够轻松搞定!简单看看下图操作:
第二步,根据所选内容建立名称
这个功能是什么用处呢,其实说得简单点,就是建立名称,只是“根据所选内容建立”名称是更高级的一个功能,能够批量根据需要创建名称。
比如此处需要把省份与对应的市通过名称对应起来,为什么要对应起来,后面会讲到哈,我们先来看看怎么将省份和市通过名称对应起来。
操作演示如下:
选择内容区域按F5调出定位提示框(按CTRL+G也能达到同样的功能)选择“常量”点击“确定”,然后我们选择数据菜单在“定义的名称”中找到“根据所选内容创建”名称勾选首行,确定后,我们就可以在名称管理器中查看我们创建的名称啦。名称都是以省份建立,对应的数据为市名。
第三步,建立二级下拉菜单
名称见好后,怎么利用它呢,接下来给大家说说INDIRECT函数,我们最终能够建立二级菜单,它的功劳占了一半。
INDIRECT函数
函数说明:返回由文本字符串指定的引用。 此函数立即对引用进行计算,并显示其内容。 如果需要更改公式中对单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
使用格式:=INDIRECT(ref_text,a1)
通俗解释:=INDIRECT(单元格地址,地址的格式)
第二个参数——a1 用于指定包含在单元格地址中的引用的类型。如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。如果 a1 为 FALSE,则将 ref_text 解释为 R1C1 样式的引用。
说了这么多,给大家举个例子就很容易理解啦!
用三种不同的方式来引用A14单元格的值“Excel伦特吧”
第一种,在B14单元格中输入:=INDIRECT("A14",1),第二参数为1或TRUE
第二种,在B15单元格中输入:=INDIRECT(A15),第二参数省略时,同第一种方式。
第三种,在B16单元格中输入:=INDIRECT(A16,0),A16单元格地址为R1C1模式,R14C1代表第14行,第1列即也是对应A14单元格的内容。
以上三种方式得到的结果都是引用A14单元格的值,即“Excel伦特吧",怎么样?INDIRECT函数,大家学会了吧~
学会了INDIRECT函数,我们就知道,为啥要有第二步——根据所选内容创建名称啦,因为=INDIRECT(省份)这个函数的结果可以引用到对应的市,这样我们就可以在数据有效性中引用这个公式,当省份发生变化时,INDIRECT(省份)也会相应发生变化,我们来看看具体操作:
点击“数据”菜单点击数据工具中的“数据验证”设置标签中,验证条件选择“序列”数据来源中输入公式:=INDIRECT($F$2),这里输入绝对引用和相对引用均不影响。点击确定,搞定!
二级下拉菜单就制作完成了,我们选择不同的省份时,对应的市名列表也会对应发生变化,这样录入数据就相当方便啦,当你学会了时,说的高级点,这也是算是实现自动化的一种表现哈,所以其实你也可以自豪地说,我不会VBA.但我也可以不用代码实现自动化哈。