夜雨聆风学习资料网

ARTICLE · 1235060

Excel省-市-区三级联动菜单:级联选择,录入效率翻倍还不出错

Excel省-市-区三级联动菜单:级联选择,录入效率翻倍还不出错

在做客户信息表的时候,选择省份为广东之后,城市需要手动填写,区县也要再次查找,很麻烦,并且很容易出错。其实使用Excel的数据验证和INDIRECT函数可以制作出省、市、区三级联动的下拉菜单。

一、准备省级、市级、区级的数据

创建一个新的工作表,并命名为“基础数据”,按照如下方式进行整理:

省份,对应的城市

广东省,广州市、深圳市

浙江省,杭州市、宁波市

准备好的城市对应的区县名单为:

城市 对应区县 

广州市,天河区、越秀区 

深圳市,南山区、福田区 

杭州市,西湖区、滨江区 

宁波市,海曙区、鄞州区 

主要做法是给每一组数据取一个名字。

例如,在连续的两个单元格里输入“广州市、深圳市”,选中这两个单元格,在左上角的名字框里输入:

广东省

按下回车键进行确定。

同样把“天河区、越秀区”的地方叫做:

广州市

其他省份、城市也按照上面的方法来设置。

小贴士:名称要和上一级菜单中文字完全一样,不然联动就会出问题。

二选择制作省份下拉框

创建一个新的“信息录入”工作表。

A列填上省份、B列填上城市、C列填上区县。

把基础数据中省份的列表命名为“省份列表”。

选择A2单元格,然后点击:

数据->数据校验->准许:序列

来源处填写:

= 省份列表

点击“确定”。

这样A2就可以直接选择“广东省”或者“浙江省”,不需要手动输入。

三让城市随着省份的变化而变化

这是整个过程当中最为重要的一步。

选择B2单元格,进行数据验证设置,类型为序列,来源处填写:

=INDIRECT($A2)

点击“确定”按钮。

那么我们开始吧:

A2选择广东的话,B2就会出现广州和深圳。

A2改为浙江省的时候,B2下拉框的内容就会变成杭州市和宁波市。

INDIRECT函数的作用就是把A2单元格里的省份名称转换为相应的命名区域。

四让区县随着城市发展而自然发展

选中C2单元格之后接着进行数据验证的设置,来源处输入如下内容:

=INDIRECT($B2)

完成之后就创建好三级菜单了。

实际的情况是:

text

广东省→广州市→天河区

广东省→深圳市→南山区

浙江省 → 杭州市 → 西湖区

不同的城市,区县下拉选项也会随之变化。

当需要输入多行数据的时候,可以将A2:C2复制到下面的区域中,用“选择性粘贴→验证”就可以把下拉规则应用到其他的行上了。

五、两个需要注意的地方

问题1:下拉菜单没有数据。

检查命名区域是否正确,在省份和城市的名称里面是否有多余的空格。

问题2:改变省份之后原来的城市仍然存在。

因为数据验证只更新下拉选项,并不会自动清空已填入的内容。

因此,在更改省份之后要重新选择城市、区县;在更改城市之后也应重新选择区县。

要实现自动清空下级内容的话,就需要用到VBA宏了。

六、做一做

可以试着做一个员工籍贯登记表,包括姓名、省份、城市、区县四栏。

先准备好基本的数据,然后设置三级下拉菜单,在此之后测试切换省份的时候,城市以及区县的选项是否正确。

掌握了该方法之后,客户地址、员工籍贯、门店区域之类的表格都可以使用了。

Excel好与不好,并不是看记住了多少函数,而是要看能否使日常重复性工作更简单。

相关学习资料