龙空技术网

Excel多级联动下拉菜单的制作

会Excel的老会计 749

前言:

如今小伙伴们对“js三级联动下拉列表怎么实现”大体比较关切,朋友们都需要剖析一些“js三级联动下拉列表怎么实现”的相关文章。那么小编在网上网罗了一些关于“js三级联动下拉列表怎么实现””的相关资讯,希望大家能喜欢,大家一起来了解一下吧!

今天有朋友问,Excel如何制作多级联动下拉菜单,其实Excel制作这种下拉菜单,主要利用Excel的“数据验证”(前期版本叫“数据有效性”)以及“INDIRECT()”字符串引用函数。

首先介绍一下“INDIRECT()”函数,该函数的语法为:INDIRECT(ref_text, [a1]),参数ref_text为一字符串,而该字符串为有效的单元格引用,并返回由该文本字符串指定的引用,此函数立即对引用进行计算,并显示其内容。

例如:

A1单元格的值为“A5”,公式“=INDIRECT("A1") ”将返回“A5”,而公式“=INDIRECT(A1) ”则返回单元格A5所包含的值,因为这个公式首先对A1进行计算,得出A1为字符串“A5”,然后取字符串“A5”对应的单元格的值。

其次,Excel的“数据验证”,就是对单元格输入数据的有效性的验证,当你给它一个序列的选择范围,然后在其中选择,这也是一种验证,下拉菜单的制作就是应用了这一点。

下面我们先用“公式”菜单中的“定义的名称”选项卡中的“根据所选内容创建”来创建“省份”名称以及“辽宁”、“黑龙江”、“吉林”名称。

动画演示

然后对单元格“D10”应用“数据验证”,在“数据验证”中“序列”为“=省份”,点击确定,也就是说给单元格“D10”确定了一个序列的取值范围,其范围为名称“省份”所定义的值“辽宁”、“黑龙江”、“吉林”,这样一级下拉菜单设计完成。

当我们设计二级菜单时,二级菜单的取值范围是随着一级菜单变化而变化的,我们就要在“数据验证”的“序列”中应用函数“INDIRECT()”了,且函数的参数为“$D$10”,注意公式中没有双引号,也就是说函数“=INDIRECT($D$10)”先对$D$10进行计算,得出带双引号“辽宁”、“黑龙江”、“吉林”,然后引用其定义的名称所对应的值,由于$D$10是变化的,所以二级菜单对应的取值范围也随着$D$10的变化而变化,注意这里要勾选上“忽略空值”,这样二级下拉菜单就制作完成了。

动画演示

应用此方法,可以做三级、四级等菜单,注意,要改变上一级菜单,最好先清除已选择的本级菜单内容,否则容易出错,要想自动清除本级菜单内容应该应用VBA处理。

标签: #js三级联动下拉列表怎么实现