Excel数据(有效性)验证的级联选择列表的缺陷及应该如何修正

我们都知道在Excel中如何利用数据验证功能制作级联选择列表,但是这个方法有一个小缺陷。今天我给大家介绍一下这个缺陷,以及应该如何制作无缺陷的级联列表。

制作级联列表

假设我们有数据如下:

A1:E1是5个事业部,下面列出了每个事业部的各部门。I列是将事业部转置成为列排列。

我们创建如下的名称(关于如何创建名称,请参见这篇文章):

我们分别创建了一个叫做“事业部”的名称,包含所有事业部,和各个事业部的名称,包含各自的部门。

接下来,我们为事业部的输入单元格设置数据验证:

为级联的二级部门设置数据验证:

这里,我们通过一个函数INDIRECT将C2的选择值转化为对应的事业部名称。

这样我们就实现了级联选择:

有个小问题

这个级联列表有个小问题:

在上面的画面中,我们看到了一种状态,事业部是“美洲区域中心”,部门是“采购部”。

但是实际上,美洲区域中心根本没有采购部:

这个采购部是怎么选出来的?其实是当事业部是“产品设计制造本部”时,部门选择了“采购部”,然后又回头将事业部选择为“美洲区域中心”,就出现了这种状况。

这种级联列表没有办法在选择第一级(事业部)的时候就对下面的二级选择(部门)做出操作,只有手动选择二级部门时才会去根据第一级的选择做反应。

解决方法

大部分人对这个问题的解决方法是写程序。其实,如果我们使用组合框来做这个级联列表的话,就可以避免这种情况。

首先,我们做第一级选择列表。

在“开发工具”选项卡下,点击插入“组合框”:

通过鼠标拖拽在工作表中插入组合框:

在组合框中,点击右键,点击设置控件格式在其中,将数据源区域设置为:事业部,单元格连接设置为:$J$2

点击确定,第一级设置就完成了:

现在添加一个新的名称:选择事业部,

其中引用位置处使用公式:

=INDIRECT(INDEX(事业部,Sheet3!$J$2))

然后添加第二个组合框作为列表选择,并将其数据源和链接单元格进行如下设置:

点击确定,完成设置:

当做出第一级选择时,第二级选择就会跟着改变:

不会出现第一级选择改变了,第二级选择还保留原来的选项这种情况了。
怎么才能快速掌握好用的Excel技巧!
怎么才能做出高大上的专业图表!
怎么才能不用天天加班做数据!
怎么才能成为Excel高手!
如果你正在为这些问题而苦恼,可以了解一下“E学会”Excel学习俱乐部,免费学习19门售价超过3000元的Excel系统学习课程,免费获得商务图表设计手册,并且有专家一对一免费帮你诊断和设计工作表格模板
目前,双12限时优惠正在进行,在原价999元的基础上,立减600元。只要399元,就可以成为Excel高手。
(0)

相关推荐