在Excel中实现下拉列表选择录入-许积云
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> 综合其它


在Excel中实现下拉列表选择录入

发表时间:2007/11/21 13:51:15 评论(0) 浏览(9971)  评论 | 加入收藏 | 复制
   
摘 要:        我们在用Excel录入表格数据时,常常会遇到某列数据的值只在几个固定值中选择一个的情况,比如:人的性别列只可能录入男或女,对学历列只可能录入高中、大专、本科、研究生之一等。遇到这类数据,如果我们手工录入,效率既低又容易出错,最好的解决办法是提供一个下拉列表框供我们选择其中的值。下面就通过一个编排教师的课表为例教大家如何实现,该Excel表格能在填表时选择教师姓名,并能在另一列表中选择他所负责的课程名称。
正 文:

         我们在用Excel录入表格数据时,常常会遇到某列数据的值只在几个固定值中选择一个的情况,比如:人的性别列只可能录入男或女,对学历列只可能录入高中、大专、本科、研究生之一等。遇到这类数据,如果我们手工录入,效率既低又容易出错,最好的解决办法是提供一个下拉列表框供我们选择其中的值。下面就通过一个编排教师的课表为例教大家如何实现,该Excel表格能在填表时选择教师姓名,并能在另一列表中选择他所负责的课程名称。

一 创建数据源表
在sheet2表中输入教师姓名以及所负责的课程,把教师姓名横放在第2行。选中B2:F2,即教师姓名。然后在名称框为它输入一个名字“name”(图1),输入完成后一定要按回车,转到sheet1工作表。

二 数据关联
为了在sheet1表引用name名称,在教师姓名列下拉框选(B3:B9)单元格,点击菜单栏中的“数据→有效性”,在弹出的“数据有效性”对话框中选择“设置”选项卡,在“允许”选择框中选择“序列”,在来源输入框中输入“=name”(图2),点击“确定”后,在下拉列表中就可选择各个教师了。

提示:现在就可体会出名称框的妙用,因为来源的拾取按钮是不能跨表去拾取其他表的数据的。
第二步就是实现能够自动选择教师所负责的课程,由于教师姓名是变动的,要求负责的课程名称也要随之变动。负责课程这一列中的有效性数据来自于教师姓名这一列,怎么解决这个问题?同样,我们可用名称框来解决。
回到sheet2表,用不着给表中的每个教师的课程单独取名,很麻烦也很耽误时间。把整个区域选中(B2:F6),用每一列的第一行数据取名,点击“插入→名称→指定”,在指定名称对话框中只选中“首行”(图3),点击“确定”后就可在sheet1表中使用了。

转到sheet1表,把负责课程列下的区域选中(C3:C9),点击“数据→有效性→序列”。接着就要注意来源输入框中的内容了,因为不能等于单元格,在这里希望引用教师姓名所对应的名称里的数据来做下拉列表,这里要用到函数indirect,它表示从某一单元格中取数据,然后把此数据转换成一个区域。在来源输入框中输入“=indirect(”,点击B3单元格,出现“=indirect($B$3)”,这里是绝对引用,按F4键改成相对引用“=indirect(B3)”,确定后会有一个警告提示框,源目前包含错误,是否继续(图4)?点击“是”继续就行了。

提示:有人会因为出现“错误提示”就不敢继续了。为什么会出现错误提示?这是因为B3单元格中没有填姓名,所以会出现“错误提示”。
现在,点击sheet1表中的B3到C9区域任一个单元格都会出现下拉列表框供你选择欲输入的值,如果今后教师有变化或他负责的课程有变化,只要在sheet2表中稍做修改即可,轻松省事!


Access软件网交流QQ群(群号:198465573)
 
 相关文章
【ASP.NET小品】下拉列表框自筛选示例  【煮江品茶  2012/7/3】
【Access源码示例】Access组合框下拉列表模糊查询功能的完...  【红尘如烟  2013/3/5】
[Access源码]改进---组合框下拉列表模糊查询功能的完美实现  【漏蛧尐魚℡  2013/3/7】
【Access小品】推而广之--自定义下拉选择窗体  【煮江品茶  2014/3/7】
多语种设计之列表窗体及下拉列表  【Aaron  2014/7/10】
【Access示例】如何在组合框下拉列表中显示图片  【缪炜  2014/9/12】
常见问答
技术分类
相关资源
文章搜索
关于作者

许积云

文章分类

文章存档

友情链接