Excel中怎样实现二级、多级(三、四级)联动下拉菜单

Excel中下拉菜单功能可以帮助我们节省输入时间,通过选取下拉菜单中的值来实现输入数据,非常快捷、方便。但是日常工作中,我们常需要一个下拉菜单,让后面的下拉菜单依据前面的下拉菜单的内容的改变而改变(也就是联动的下拉菜单)。

一、二级联动下拉菜单制作方法

首先看一下原始数据,原始信息在一张工作表,第一行是省市名称,下面的若干行为对应省市下面的地名和区名,如图1。需要在另外一张工作表中A列和B列建立联动的二级下拉菜单,如图2。

图1

图2

操作步骤如下:

Step1:选中原始表所有数据,按快捷键F5调出定位对话框,定位条件选择“常量”,点击“确定”按钮,这样所有非空单元格被选中。如图3。

图 3

Step2:点击功能区菜单“公式”→“根据所选内容创建”,如图4,因为标题在首行,所以选择“首行”作为名称,点击“确定”按钮,如图5。操作完毕后在菜单“公式”下的“名称管理器”就可以看到定义的名称了,如图6。

图 4

图 5

图 6

Step3:在另外一张工作表创建标题行,省/直辖市和市/区,选中A2单元格,点击菜单“数据”→“数据验证”(注:2013版本的“数据验证”在2003、2007、2010版本是“数据有效性”),验证条件选择“序列”,来源选中原始数据表的首行数据,如图7。这样,在A2菜单就生成了省市下拉菜单,如图8。如果需要在更多的单元格区域设置下拉菜单,就选中更多的单元格区域,比如A2:A20,切忌选中整列区域,如果选中整列,会导致在很多没有用的区域设置了数据有效性,增加了文件的虚拟内存,使得文件变大,文件变大会导致打开和各种操作都会非常慢。

图 7

图 8

Step4:同样的方法,选中B2单元格,点击数据验证,在“来源”处输入公式=INDIRECT($A$2),点击“确定”按钮。设置完毕后,A2单元格选择“深圳市”时B2的下拉菜单返回“深圳市”的信息,如图10;A2单元格选择“北京市”时B2的下拉菜单返回“北京市”的信息,如图11。

注意:

上述二级下拉菜单设置的公式采取了行列都绝对引用,如果要使二级下拉菜单对更多的单元格区域均可用,将公式更改为:=INDIRECT($A2)即可。

图 9

图10

图11

indirect函数功能是返回并显示指定引用的内容,可引用其他工作簿的名称、工作表名称和单元格引用。制作多级下拉菜单的原理就是利用定义名称,然后在单元格输入与定义名称相同的字符,再对含有这种字符的单元格用Indirect作引用。

操作动画如下:

二、多级(三、四级)联动下拉菜单制作方法

下面介绍多级别的下拉列表的制作方法。

数据源按下面的顺序排序:

图12

在制作多级下拉菜单之前我们先来了解这几个函数,其语法和功能分别是:

Match(找什么,在哪里找,0):返回符合特定值特定顺序的查询值在数组中的相对位置;

Countif(条件范围,条件):计算区域中满足给定条件的单元格的个数;

Vlookup(找什么,在哪里找,显示序列,匹配参数):搜索表区域首列满足条件的元素,确定待检索单元格在区域中的行序号,再进一步返回选定单元格的值;

Offset(参考单元格,偏移的行数,偏移的列数,返回引用区域的行数,返回引用区域的列数):以指定的引用为参照系,通过给定偏移量返回新的应用。

了解了函数的功能,接下来按以下步骤操作:

Step1:在C2单元格借助于Match函数,计算“广东省”在A列中的位置,因此该公式为:=MATCH(B2,A:A,0)。随后将该公式分别复制至C3、C6、C7、C8、C9单元格即可计算对应的项在A列中的起始位置,该数值用于指导offset函数往下偏移几行;

Step2:接下来要计算每个项目共有几个小项,在D2中利用countif函数计算个数,此处的公式为:=COUNTIF(A:A,B2)。该数值可以用在offset函数中的返回行数中;

Step3:最后在G列设置一级省份下拉列表,如图13:

图 13

Step4:对二级“地市”设置数据有效性。因为我们需要根据一级G2单元格选择的不同,设置不一样的下拉列表,而每个一级“省份”会有不一样个数的二级“地市”,所以借助offset函数来完成。在H2单元格设置数据有效性的“来源”位置,输入以下公式:=OFFSET($B$1,VLOOKUP(G2,$B:$D,2,0)-1,0,VLOOKUP(G2,$B:$D,3,0),1)。

图 14

该公式的意思为:

以B1单元格为基准,往下偏移几行,往右不偏移列,返回引用区域的行数,返回一列的数据。那么往下偏移几行,要根据前面的G2单元格的内容变化,所以利用vlookup函数来查找G2单元格的内容,位于B:D范围中第二列的结果,我们便可以从B1单元格往下偏移6行至B7单元格,再减去1,得到“广州市”的B6单元格;同样的,返回引用区域的行数,也借助vlookup函数来得到,如此一来,二级下来列表的“地市”也就完成了。

图15

Step5: 接下来,我们就用同样的offset函数来制作三级下拉列表,因此在I2单元格的数据有效性的公式为:=OFFSET($B$1,VLOOKUP($H$2,$B:$D,2,0)-1,0,VLOOKUP($H$2,$B:$D,3,0))

图 16

最后的效果为:

图 17

那么有了这种方法以后,我们想设置任意级别的下拉列表都可以实现了。

(0)

相关推荐

  • Excel表格中常用的函数有哪些?有什么作用?

    Excel10年老用户了,做数据分析的前几年全靠Excel打天下,给大家复盘一下Excel的高频使用函数,供初入职场或者想要提高工作效率的朋友做参考,如果你能够吸收完这一篇,可以抵上一年以上的工作经验 ...

  • 只能用VLOOKUP匹配数据?还有更多的公式(查找引用公式集锦)

    最近推送的几篇文章: 函数总学不会,不会写公式,那是因为没掌握学习方法 用公式提取汉字拼音首字母?领导,你还是给我安排搬砖的活吧 卖茶叶的做的Excel图表,为什么这么漂亮?怎么做的? 用PQ轻松合并 ...

  • 函数与条件格式的完美结合:会变色的Excel销售统计查询模板

    小编最近几天一直在分享与销售统计报表有关的教程,有需要的小伙伴可以点击我的头像去主页查看相关教程.今天小编再分享一个销售统计查询模板,支持动态查询,并且查询的数据会突出颜色显示.需要模板的可以评论区留 ...

  • Excel中怎样实现二级联动下拉菜单

    Excel中怎样实现二级联动下拉菜单? Excel中下拉菜单功能可以帮助我们节省输入时间,通过选取下拉菜单中的值来实现输入数据,非常快捷.方便.但是日常工作中,我们常需要一个下拉菜单,让后面的下拉菜单 ...

  • Excel中怎样实现二级联动下拉菜单?

    Excel中下拉菜单功能可以帮助我们节省输入时间,通过选取下拉菜单中的值来实现输入数据,非常快捷.方便.但是日常工作中,我们常需要一个下拉菜单,让后面的下拉菜单依据前面的下拉菜单的内容的改变而改变(也 ...

  • EXCEL中实现二级联动下拉菜单

    关键字:数据有效性,定义名称,indirect函数 操作步骤: 步骤1.准备好原始数据. 步骤2.选中E列,打开数据工具栏,选择"数据有效性". 步骤3. 在有效性条件的" ...

  • Excel制作一级、二级、三级联动下拉菜单

    一级下拉菜单 二级联动下拉菜单 制作的效果如下所示,当输入完一个省份之后,二级下拉菜单就是对应城市 制作的过程如下所示: ❶选中所有的数据区域,然后按CTRL+G,定位条件,选择常量 然后点击公式选项 ...

  • Excel中快速制作三级联动下拉菜单,简单到没朋友!

    Excel中快速制作三级联动下拉菜单,简单到没朋友!

  • Excel–这才是三级联动下拉菜单的正确做法,不同于二级联动菜单

    今天教大家制作三级联动下拉菜单. 很多同学以为三级联动下拉做法跟二级联动下拉菜单是一样的,举一反三即可.其实不然!因为第三级要考虑的不仅仅是二级菜单的选择,而是一.二级菜单的组合情况,网上有很多教程是 ...

  • Excel如何建立二级联动下拉菜单?

    我们在使用Excel输入数据的时候,为了使数据输入比较准确,可以采用建立二级联动的方式进行,下面来看看吧! 1.我们要将两个部门的数据建立联动. 2.点击框选之后,点击公式选项卡. 3.然后在公式下面 ...

  • 超简单,两分钟搞定Excel二级联动下拉菜单

    对于一级下拉菜单的设置,相信经常使用Excel的用户都不陌生,那么,二级联动下拉菜单又是什么呢?与一级下拉菜单有什么关系呢? 二级联动下拉菜单是根据一级下拉菜单内容的变化而变化的.大家都知道,不同的部 ...

  • 【Excel技巧1001-29】- 0基础5分钟详细动画教你制作二级联动下拉菜单

    今天我们来聊聊更加实用的Excel中二级联动菜单问题! 文末送上强化版,解决重选二级不更新的难题 废话不讲,直奔主题 动画效果: 详解制作教程: 1.定义一级省份名称,见动画演示 操作细节:选择省份区 ...