excel设置数据有效性实现单元格下拉菜单的3种方法。
一、直接输入:
1.选择要设置的单元格,譬如a1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“**”下面输入数据,譬如“1,2,3,4,5,6,7,8,9”(不包括双引号,分割符号“,”必须为半角模式)→按“确定”就ok了,再次选择该a1单元格,就出现了下拉菜单。
二、引用同一工作表内的数据:
如果同一工作表的某列就是下拉菜单想要的数据,譬如引用工作表sheet1的b2:b5,b2:b5分别有以下数据,操作如下:
1.选择要设置的单元格,譬如a1单元格;
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“**”下面输入数据“=$b$2:$b$5”,也可以按右边带红色箭头的直接选择b2:
b5区域→按“确定”就ok了,再次选择该a1单元格,就出现了下拉菜单。
三、引用不同工作表内的数据(必须用到定义名称):
如果不同工作表的某列就是下拉菜单想要的数据,譬如工作表sheet1的a1单元格要引用工作表sheet2的b2:b5区域,工作表sheet2的b2:b5分别有以下数据,操作如下:
1.定义名称:菜单栏→“插入”→“名称”→“定义”→弹出“定义名称”窗口,在“在当前工作薄中的名称”下面输入“dw”(可以自己随便明明)→“引用位置”下面输入“=sheet2!
$b$2:$b$5”,也可以按右边带红色箭头的直接选择b2:b5区域→按“添加”后再按“确定”完成第一步。
2.选择菜单栏的“数据”→“有效性”→出现“数据有效性”弹出窗口;
3.在“设置”选项中→“有效性条件”→“允许”中选择“序列”→右边的“忽略空值”和“提供下拉菜单”全部打勾→在“**”下面输入“=dw”,“dw”就是刚刚定义好的名称,按“确定”就ok了,再次选择该a1单元格,就出现了下拉菜单。
只要你在一列中连续的单元格内输入文字,除了数字以外的内容都会显示在下拉列表中。
快捷键是alt + 方向键下键。
在输入数据时,如果想输入上面已经输入过的数据,直接从下拉列表中选择就可以了。
在excel单元格做下拉列表还有一个更好的方法,因为下拉列表的内容可能有30项甚至于100项以上,如在“数据-有效性-**”中填写100项是很做不到的,我记得最多只可填写30项。方法是将要在下拉列表中选择的100项内容填在a1-a100,选择“插入-名称-定义”,定义名称可填下拉内容“一级”,定义的引用位置是a1-a100,确定后将一级下拉内容填入“数据-有效性-**”中或者在“数据-有效性-**”中填“=$a$1:$a$100”。
我做的表比较复杂,要实现在一行中输入数据同时它相关的一些数据都要出来,而且要输入的数据量很大。
如: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下拉菜单快速批量输入。