Excel多级下拉菜单的制作

编辑Excel表格的时候,有一类数据是相对固定的,比如说性别或者行政区划,如果数据量很大的话,每一项都手动输入就比较浪费时间而且容易出错,这时我们就可以给每组数据制作一个下拉菜单,以后我们只需从菜单里选择相应的内容即可。

基础知识

数据有效性是下拉菜单的基石,在数据选项卡下面,数据验证,选择序列,输入或选择有效性数据来源。

一级下拉

需求
制作学生成绩表下拉列表,年级从一到六年级,学生学科有语文、数学、历史、体育和政治,成绩分为A、B、C、D四个等级。
Excel多级下拉菜单的制作_第1张图片

## 方法1:常规下拉制作,数据有效性-序列
选择年级列,数据-数据验证,选择序列,来源里输入“一年级,二年级,三年级,四年级,五年级,六年级”,注意这里的逗号为英文状态下的逗号。同理设置学科列和成绩等级列。

## 方法2:批量定义名称制作
创建数据有效性的数据源区域,分别输入成绩等级明细、年级明细和学科明细,如下图。
Excel多级下拉菜单的制作_第2张图片
选中数据源数据,Ctrl+G进行定位,定位条件选择常量。打开公式选项卡,根据所选内容创建,选择首行。这时候就会根据首行创建相应的名称。然后同样的设置序列,数据来源 ”=成绩等级”,其他列同理设置。

## 方法3:通过公式设置数据有效性
通过公式来设置数据来源,首先用counta分别计数有多少成绩等级、多少年级和学科,然后通过offset偏移函数来扩大数据范围。最后的公式为:
=OFFSET($J 10 , , , C O U N T A ( 10,,,COUNTA( 10,,,COUNTA(J 10 : 10: 10:J$22))
该公式可以理解为从等级A开始扩展有数据的区域,将有数据的范围全部选中。作为下拉菜单数据来源的数据源。最后同上方法,设置数据验证,序列的数据来源输入该公式。
Excel多级下拉菜单的制作_第3张图片

二级联动

需求:
根据数据源创建部门人员的联动,选择部门后只能选择对应部门的人。注意思考是否可以实现动态的一二级联动。
Excel多级下拉菜单的制作_第4张图片
## 步骤1
完成部门常规一级下拉菜单的制作,方法见本文上。
## 步骤2
构建数据源区域,列出每个部门的人员名单。
Excel多级下拉菜单的制作_第5张图片
## 步骤3
批量定义名称制作,创建各个部门的名称管理。Ctrl+G定位常量,然后公式选项卡下根据所选名称创建。
## 步骤4
数据,数据验证里来源输入=INDIRECT($B11) 即根据部门列所选部门,联动出相应的员工姓名。
Excel多级下拉菜单的制作_第6张图片

三级下拉

三级下拉的难点其实不在于设置有效性,而是数据源的重排。数据源一般如下图所示:
Excel多级下拉菜单的制作_第7张图片
最常见的行政区划,即省市区的三级联动,往往常规的做法是一个表把各个省的城市全部放在一列,然后另一个表把各个城市的区全部放在一列,如下图所示。但是这样手工重排的工作量其实非常大,这时候我们需要借助函数来对数据源进行重新整合。
Excel多级下拉菜单的制作_第8张图片
首先需要将数据源进行排序,按省份为主要关键字,城市为次要关键字进行排序。方便后面公式进行计数。然后将一级下拉菜单、二级下拉菜单和三级下拉菜单的数据分别进行下面格式的整理,省份、省份+城市、城市+区县。如下图所示。
Excel多级下拉菜单的制作_第9张图片
## 一级下拉菜单制作
直接通过常规下拉制作
## 二级下拉菜单制作
首先用countif计数该省份下城市个数,然后用match函数找到该省份下第一个城市的起始位置。最后通过offset+indirect+countifs+match函数来作为序列来源。
=OFFSET(INDIRECT(“D”&MATCH(J2,C:C,)),MATCH(J2,C:C,)+COUNTIF(C:C,J2)-1)
Excel多级下拉菜单的制作_第10张图片
## 三级下拉菜单制作
方法同二级下拉菜单。最终效果图如下:
Excel多级下拉菜单的制作_第11张图片

你可能感兴趣的:(Excel应用)