表格里面的数据有效性怎么设置
我们都知道在Excel中如何利用数据验证功能制作级联选择列表,但是这个方法有一个小缺陷。今天我给大家介绍一下这个缺陷,以及应该如何制作无缺陷的级联列表。
制作级联列表
假设我们有数据如下:
A1:E1是5个事业部,下面列出了每个事业部的各部门。I列是将事业部转置成为列排列。
我们创建如下的名称(关于如何创建名称,请参见这篇文章):
我们分别创建了一个叫做“事业部”的名称,包含所有事业部,和各个事业部的名称,包含各自的部门。
接下来,我们为事业部的输入单元格设置数据验证:
为级联的二级部门设置数据验证:
这里,我们通过一个函数INDIRECT将C2的选择值转化为对应的事业部名称。
这样我们就实现了级联选择:
有个小问题
这个级联列表有个小问题:
在上面的画面中,我们看到了一种状态,事业部是“美洲区域中心”,部门是“采购部”。
但是实际上,美洲区域中心根本没有采购部:
这个采购部是怎么选出来的?其实是当事业部是“产品设计制造本部”时,部门选择了“采购部”,然后又回头将事业部选择为“美洲区域中心”,就出现了这种状况。
这种级联列表没有办法在选择第一级(事业部)的时候就对下面的二级选择(部门)做出操作,只有手动选择二级部门时才会去根据第一级的选择做反应。
解决方法
大部分人对这个问题的解决方法是写程序。其实,如果我们使用组合框来做这个级联列表的话,就可以避免这种情况。
首先,我们做第一级选择列表。
在“开发工具”选项卡下,点击插入“组合框”:
通过鼠标拖拽在工作表中插入组合框:
在组合框中,点击右键,点击设置控件格式在其中,将数据源区域设置为:事业部,单元格连接设置为:$J$2
点击确定,第一级设置就完成了:
现在添加一个新的名称:选择事业部,
其中引用位置处使用公式:
=INDIRECT(INDEX(事业部,Sheet3!$J$2))
然后添加第二个组合框作为列表选择,并将其数据源和链接单元格进行如下设置:
点击确定,完成设置:
当做出第一级选择时,第二级选择就会跟着改变:
不会出现第一级选择改变了,第二级选择还保留原来的选项这种情况了。
怎么才能快速掌握好用的Excel技巧!
怎么才能做出高大上的专业图表!
怎么才能不用天天加班做数据!
怎么才能成为Excel高手!
如果你正在为这些问题而苦恼,可以了解一下“E学会”Excel学习俱乐部,免费学习19门售价超过3000元的Excel系统学习课程,免费获得商务图表设计手册,并且有专家一对一免费帮你诊断和设计工作表格模板。