Excel设置数据有效性实现单元格下拉菜单的3种方法
一、直接输入:
1.选择要设置的单元格,譬如A1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据,譬如“1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必须为半角模式)→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
二、引用同一工作表内的数据:
如果同一工作表的某列就是下拉菜单想要的数据,譬如引用工作表Sheet1的B2:B5,B2:B5分别有以下数据:1、2、3、4,操作如下:
1.选择要设置的单元格,譬如A1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入数据“=$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
三、引用不同工作表内的数据(必须用到定义名称):
如果不同工作表的某列就是下拉菜单想要的数据,譬如工作表Sheet1的A1单元格要引用工作表Sheet2的B2:B5区域,工作表Sheet2的B2:B5分别有以下数据:1、2、3、4,操作如下:
1.定义名称:菜单栏→“插入”→“名称”→“定义”→弹出“定义名称”窗口,在“在当前工作薄中的名称”下面输入“DW”(可以自己随便明明)→“引用位置”下面输入“=Sheet2!$B$2:$B$5”,也可以按右边带红色箭头的直接选择B2:B5区域→按“添加”后再按“确定”完成第一步。
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“来源”下面输入“=DW”,“DW”就是刚刚定义好的名称,按“确定”就OK了,再次选择该A1单元格,就出现了下拉菜单。
----------------------------------------------------------------------
1.
只要你在一列中连续的单元格内输入文字,
除了数字以外的内容都会显示在下拉列表中.
快捷键是Alt + 方向键下键.
在输入数据时,如果想输入上面已经输入过的数据,
直接从下拉列表中选择就可以了.
2.
在EXCEL单元格做下拉列表还有一个更好的方法,因为下拉列表的内容可能有30项甚至于100项以上,如在“数据-有效性-来源”中填写100项是很做不到的,我记得最多只可填写30项。方法是将要在下拉列表中选择的100项内容填在A1-A100,选择“插入-名称-定义”,定义名称可填下拉内容“一级”,定义的引用位置是A1-A100,确定后将一级下拉内容填入“数据-有效性-来源”中或者在“数据-有效性-来源”中填“=$A$1:$A$100”。
3.
我做的表比较复杂,要实现在一行中输入数据同时它相关的一些数据都要出来,而且要输入的数据量很大。
如: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列选型号后,后面出现相关数据。
4. 自制Excel下拉菜单快速批量输入
因工作需要,常常要将企业的单位名称输入到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),同样在其右侧出现了个下拉按钮,单击此按钮,即可从相应资质等级的企业名称列表中选择需要的企业名称填入该单元格中。
怎么样?这样输入企业名称(当然,此法不仅仅适用于输入企业名称哟),是不是既快速又统一?!
可以用查找函数VLOOKUP或索引函数INDEX实现。如果要用“点击上一个-下一个”的,可合并使用“数据有效性”。
你没有具体数据地址,我就给你一些公式参考吧:
1、在Sheet1的A列输入“甲方,乙方”,B列输入金额;
2、选Sheet1的A列数据区域(就只有A1、A2吧)——菜单栏——插入——名称——定义——在当前工作簿中的名称,随便输入一个名称,如:AAA;引用位置,输入:=Sheet1!$A:$A(或默认)——确定;
3、选Sheet2的A1——菜单栏——数据——有效性——设置——允许:选“序列”;来源,输入:=AAA——确定;
4、在Sheet2的B1输入
=IF(ISERROR(VLOOKUP(A1,Sheet1!A:B,2,0)),"",VLOOKUP(A1,Sheet1!A:B,2,0))回车。