1.5 下拉式列表选择输入的设计
下拉式列表输入方法是指在单元格中建立下拉列表,在需要输入数据时,可以方便从列表中进行选取,其目的主要是为了提高数据输入的速度和准确性。在Excel中,提供了4种不同难度的下拉列表输入方法,下面分别介绍,读者可逐个学习并选择使用。
1.5.1 利用数据有效性创建下拉式选择列表
上节最后已经提到,通过利用“数据有效性”对话框的序列设置可以为单元格建立下拉列表,这种方法非常适合于同时要为多个单元格一次性创建下拉列表。
如图1-35所示,在进行学生档案数据库信息输入时,在“所在院系”一栏就设置了下拉式列表,这样可以方便地实现院系名称的快速和准确输入,也便于实现输入的所有名称唯一的表述方法(防止出现“计算机信息学院”“计信院”这种全称和简称并存的情况),有助于将来进行数据的汇总和分级分析,其实,表格中的“性别”“政治面貌”“所学专业”三栏也都可以进行类似的有效性下拉式列表的设计。
图1-35 设置院系名称的下拉菜单
下面就以创建“所在院系”一栏的下拉式列表为例介绍其操作方法,具体操作步骤如下。
(1)先建立数据表的整体框架,结构如图1-36所示,其中右边的表格列出了各种将来准备设置为下拉列表各个项目的数据,这样做是为了将来数据维护的方便。
图1-36 建立数据表的整体框架
(2)选中“所在院系”一栏中需要设置下拉列表的区域,即图中F2:F11(此处只是作为教学案例,实际设置时,需根据输入人数将区域放大,例如选择F2:F1000)。
(3)运行“数据”菜单栏下的“数据有效性”命令,打开“数据有效性”对话框,在“设置”选项卡中设置“允许”类型为“序列”,如图1-37所示。
图1-37 设置数据有效性为“序列”类型
(4)单击“来源”文本框右端的按钮,这时“数据有效性”对话框会折叠起来,然后可以选取院系名称所在单元格区域J3:J11,如图1-38所示。
图1-38 选取下拉列表的数据源
(5)单击按钮展开“数据有效性”对话框,并在其中单击“确定”按钮即可。
说明:上面步骤中如果事先没有输入列表的数据源,则需要直接在图1-37的“数据有效性”对话框的“来源”文本框中逐个输入各个项目,项目之间用英文逗号隔开,但是这种方法将来不方便维护,而采用直接引用数据源的方法将来修改维护是非常方便的。
1.5.2 利用右键菜单命令从下拉式列表中选择输入
利用Excel单元格右键菜单中的“从下拉列表中选择”命令,也可以进行数据的“列表选择”,它适用于前面已经输入过相同数据,后续不想再重复输入的情况。
如图1-39所示,在输入“政治面貌”时,在前面已将全部名称输入一遍后,后面如果不想再重复录入,可以单击右键,从弹出的快捷菜单中选择“从下拉列表中选择”命令,就会出现如图1-40所示的下拉列表,其中将上面输入过的不重复内容全部列出。
图1-39 选取下拉列表中的数据源
图1-40 选取下拉列表的数据源
说明:使用“从下拉列表中选择”命令来创建下拉列表时,最好在需要输入的各个项目已经输入一遍之后进行;并且在输入时,目标单元格的上邻单元格不能为空。
1.5.3 利用窗体组合框创建下拉式列表
利用Excel窗体中的组合框控件,也可以完成下拉列表的位置。它能做出与专业编程软件中的窗体控件一样的界面,并且使用方法非常简单。
如图1-41所示“学生情况登记表”中,“性别”“年级”“政治面貌”等栏都有与“所在院系”一栏样式相同的利用窗体组合框创建的下拉式表。
图1-41 利用窗体组合框创建的下拉式列表
下面就以创建“所在院系”一栏的下拉列表为例介绍其操作方法。具体操作步骤如下。
(1)如图1-42所示,先建立录入表的框架结构,注意其中某些单元格进行了单元格合并操作。其中右边的表格列出了各种将来准备设置为下拉列表中各个项目的数据,这样做是为了将来数据维护的方便(如不想让其在屏幕显示,随后可以将其隐藏)。
图1-42 建立信息录入表的整体框架
(2)找到“开发工具”菜单栏下的“控件”单元,单击“插入”命令中的“表单控件”下的按钮选项,如图1-43所示。然后将鼠标移动到需要创建窗体的单元格,单击即可画出组合框。
图1-43 通过单击“插入”命令创建窗体
说明:Excel 2010默认状态下,菜单栏中不会显示“开发工具”栏,可以在选择“文件”→“选项”→“自定义功能区”,在“开发工具”选项前打勾,选择后开发工具将会出现在菜单栏上,如图1-43所示。
(3)右键单击组合框,从快捷菜单中选择“设置控件格式”命令,弹出“设置对象格式”对话框,如图1-44所示,在“控制”选项卡中,设置数据源区域为“$N$3:$N$11”,单元格链接为“$H$4”,“下拉显示项数”仍为默认值“8”,选中“三维阴影”复选框。右击组合框还可以对组合框进行移动或改变大小的操作。
图1-44 进行组合框的相关设置
说明:
(1)在图1-44中,“下拉显示项数”是指将来下拉列表中所能显示出的项目个数,默认值为8,如果项目超过8个,将需要使用滚动条拖动;当不足8个时,最好按照实际数量设置。
(2)“数据源区域”为将来在下拉列表中显示的项目内容,而用户选取的项目列表中的项目会以序数的方式返回到“单元格链接”指向的单元格,例如,在下拉列表中选择“艺术系”,就会在单元格J中显示2(因为“艺术系”在组合框列表中处于第2的位置),如果要想在某一单元格中返回实际选取的项目,还需根据返回的序号使用INDEX函数来处理,本节不再详述,关于INDEX函数会在后面介绍。
通过以上操作,单击“所在院系”一栏后的组合框,将出现如图1-41所示的效果,其余的“性别”“年级”“政治面貌”等栏的下拉列表也可按照上述方法创建。
1.5.4 利用控件工具箱的组合框创建下拉式列表
除了利用“窗体”的组合框外,在Excel中还可以利用“控件工具箱”中的组合框控件建立下拉列表,并且它还具有一定的优势,主要表现为;当操纵者从“控件工具箱”的组合框中选取项目后,返回到连接单元格的已经不是序号,而是选取的列表项目。
下图仍以图1-41所示“学生情况登记表”中“所在院系”一栏的下拉列表的创建方法为例,介绍利用控件工具箱的组合框创建下拉式列表的操作方法。具体操作步骤如下。
(1)建立信息录入表的整体框架,结构样式与图1-42所示的完全一样。
(2)找到“开发工具”菜单栏下的“控件”单元,单击“插入”命令中的“ActiveX控件”下的按钮选项,如图1-43所示。然后将鼠标移动到需要创建窗体的单元格,单击即可画出组合框。
(3)右键单击上面建立的组合框,从快捷菜单中选择“属性”命令,如图1-45所示。
图1-45 查看控件属性
说明:单击按钮后,Excel表格将处于“设计模式”,在“设计模式”下就能对由其生成的控件进行选取和编辑,如图1-46所示就是控件处于“设计模式”下。控件设计完毕后,需单击“设计模式”按钮退出设计模式。
图1-46 控件工具箱处于“设计模式”下
(4)如图1-47所示,在打开的“属性”面板中进行设置,其中LinkedCeIl属性(连接单元格)设置为H3,ListFillRange属性(列表数据源)设置为N3:N9。
图1-47 组合框相关属性的设置
(5)属性设置完成后,关闭“属性”面板。
(6)单击菜单栏中“开发工具”→“设计模式”图标,退出设计模式。
说明:以上步骤完成后,单击“所在院系”下拉列表中某一院系的名称项,就会在H3中显示选取的院系名称,如图1-48所示,这一点和“窗体”组合框只返回选取项目的序号不同。
图1-48 选取组合框某项目后的返回值
1.5.5 级联式下拉列表的设计方法
所谓级联式下拉列表,其实跟级联式菜单类似,也就是在上一层列表选取之后,还需要在下一层下拉列表中继续选取,上一层选取的不同项目都会对应一个不同的下一层下拉列表。比如,在输入“籍贯”的时候,先让操作者在省份列表中选取,待选取了省份后,又可以在出现的对应省的“县市”下拉列表中选择县市名称。
如图1-49所示,右边部分E1:I1单元格区域为某个学院各系及专业的名称列表,对应各个系名31称下面的应该是该系下属的各个专业的名称。现在想在A到C列区域输入某些学生的姓名、所在系和专业,并且要求能够实现从各系名称列表中选取,且选取不同的系对应不同专业的下拉列表。
图1-49 需要设置名称级联式下拉式列表的表格
上述的级联式下拉列表可以通过设置“数据有效性”,并结合指定和引用“名称”,以及应用INDIRECT函数来实现。具体操作步骤如下。
(1)按照图1-49所示样式,建立数据表、学院名称及其下属各系的列表。
(2)为各系下属专业指定名称。操作方法为:选中E1:I7区域,运行“公式”菜单栏下“定义的名称”中的“根据所选内容创建”命令,打开“以选定区域创建名称”对话框,如图1-50所示,选中“首行”复选框。经过这样的设置,每个系名称下的所有专业的名字整体就被定义成了与系名称同名的“名称”,也就是说区域E2:E6被定义为名称“计算机信息系”,其余类推。
图1-50 为系指定名称
(3)设计学院对应的下拉列表。操作方法为:选取单元格区域B2:B65536,单击“数据”→“有效性”命令,打开“数据有效性”对话框,单击“设置”选项卡,在“允许”下列列表中选择“序列”,在“来源”中输入“=$E$1:$I$1”,如图1-51所示,然后根据需要设置其他选项,最后单击“确定”按钮。
图1-51 设计系的下拉列表
(4)设计系对应的下列拉表。操作方法为:选取单元格选项区域C2:C65536,单击“数据”→“有效性”命令,打开“数据有效性”对话框,单击“设置”选项卡,在“允许”下拉列表中选择“序列”,在“来源”中输入“=INDIRECT”,如图1-52所示,然后根据需要设置其他选项,最后单击“确定”按钮。
图1-52 设计专业的下拉列表
经过以上设置后,系名称和专业名称之间的级联式下拉列表创建完毕,当光标移动到B列某一单元格时,将显示所选系名称列表(见图1-53);当在B列选好系名后,将鼠标移动到C列时,所选系下属对应专业的名称列表也将显示(见图1-54)。
图1-53 系名称列表
图1-54 专业的名称列表