利用Excel数据有效性实现单元格下拉菜单多种分类选项
一、准备的基础知识
1、创建多个选项下拉菜单
在EXCEL单元格做下拉列表还有一个更好的方法,因为下拉列表的内容可能有30项甚至于100项以上,如在“数据-有效性-来源”中填写100项是做不到的,我记得最多只可填写30项。
创建30项以上方法(以50项为例):
在下拉列表中选择的50项内容填在A1-A50,选择“插入-名称-定义”,定义名称可填下拉内容“一级”,定义的引用位置是A1-A50,确定后将一级下拉内容填入“数据-有效性-来源”中或者在“数据-有效性-来源”中填“=$A$1:$A$50”。
2、选择下拉菜单中的一项,附带多项数值用方
我做的表比较复杂,要实现在一行中输入数据同时它相关的一些数据都要出来,而且要输入的数据量很大。
如:A1是一个下拉列表,我选中AA,同时一行的AA 的型号,价格都出现,而且是每行都是这样,可以实现吗?复杂吗?
设:原数据表在sheet1表,A列为型号,B--H列为相关数据。新表建在Sheet2表,表格式同SHeet1表。选中Sheet1表的A列型号的区域(设为A2至A30),定义名称为 “型号”。
在Sheet2表的A2单元格,数据→有效性,“允许”选“序列”,“来源”中输入“=型号”(等于应在英文状态下输入),确定退出。
在B2单元格输入公式:
=IF($A2<>0,VLOOKUP($A2,Sheet1!$A$2:$H$30,COLUMN(),0),"") 再将B2单元格横向拉到H2单元格。 再将A2至H2单元格向下拉若干行。A列选型号后,后面出现相关数据。
二. 下拉菜单多种分类选项快速批量输入
因工作需要,常常要将企业的单位名称输入到Excel表格中,由于要求每次输入同一个企业的名称要完全一致,我就利用“数据有效性”制作了一个下拉列表来进行输入。但由于有150多个单位名称,下拉列表太长,选择起来非常不方便,于是,我对其进行了改进,实现了“分类列表选择、快速统一输入”之目的。
使用实例界面:
1、建库
启动Excel2000(XP也可),切换到Shift2工作表(其他工作表也可)中,将建筑施工企业名称按其资质等级分别分别输入不同列的单元格中,建立一个企业名称数据库(如图1)。
[特别提示]如果有其他企业加入,可以随时将名称输入到该列下面的单元格中。
2、命名
在Shift2工作表中,选中A列(一级企业名称所在列),然后将光标定在“名称”栏内(位于“编辑栏”左侧,如图2),输入“一级”,并按“回车”键进行确认。
仿照上面的操作,将B、C、D列分别命名为“二级、三级、四级”。
3、建立
切换到Sheet1工作表中,选中需要输入企业资质等级的列(如C列),执行“数据→有效性”命令,打开“数据有效性”对话框(如图3)。进入“设置”标签,单击“允许”右侧的下拉按钮,选中“序列”选项,在下面接着出现的“来源”方框中,输入“一级,二级,三级,四级”序列,输入完成后,确定退出。
[特别提示]在输入“序列”时,序列中各元素之间请用英文状态下的逗号隔开。
再选中需要输入企业名称的列(如D列),再次打开“数据有效性”对话框,选中“序列”选项后,在“来源”方框中输入公式:=INDIRECT(C1),确定退出。
4、使用
选中C列任意单元格(如C4),在其右侧出现了个下拉按钮,单击此按钮,即可选择企业的资质等级级别填入相应的单元格中。然后选中该单元格对应的D列单元格(如图4),同样在其右侧出现了个下拉按钮,单击此按钮,即可从相应资质等级的企业名称列表中选择需要的企业名称填入该单元格中。
三. 将下拉菜选项分类单快速批量输入的另一种方法
有如下一份省市数据:省份以及省份所辖地市清单,需要实现多级联动下拉菜单操作,具体操作方式如下所示:
第一步:对各单元格区域进行名称定义
选中A1:A5单元格区域,然后公式——根据所选内容创建——如图设置
PS:分别对B、C、D、E列重复以上操作
第二步:设置省份列的选项
选中G1:G22单元格区域,然后数据——数据有效性
弹出数据有效性设置窗口,然后如图设置
其中来源“=省份”,这里的省份与之前自定义的单元格区域名称是相对应的
省份选项搞定
第三步:设置地市列的选项:
选中H1:H22单元格区域,然后数据——数据有效性
在弹出的窗口,设置如下:其中来源=indirect($G1),
PS:indirect函数,返回由文本字符串指定的引用。
地市选项也搞定了,N级操作以此类推