在Excel中制作具有联想能力的下拉列表的方法

时间:2019-11-20
阅读:

利用Excel的数据验证功能,能够创建下拉列表方便用户快速输入一些常用数据。当可能输入的数据很多时,从列表中找到需要的数据就不那么容易了。实际上,可以通过设置获得类似于输入法的联想功能,当在单元格中输入需要数据的前几个字符后,在下拉列表中将只显示以这几个字符开头的选项。本文介绍在Excel中制作具有联想能力的下拉列表的方法。

1、启动Excel并打开工作表Sheet2,选择A1:B15单元格区域,按Ctrl+L键打开“创建表”对话框,“表数据的来源”文本框中已经输入了选择单元格地址,单击“确定”按钮创建表,如图1所示。完成表创建后,对该字段按升序排序。

图1 打开“创建表”对话框

2、在Sheet1工作表中选择A3:A30单元格区域,打开“数据验证”对话框,在“设置”选项卡的“允许”下拉列表中选择“序列”选项,在“来源”文本框中输入公式"=OFFSET(Sheet2!$A$2,MATCH(A3&"*",Sheet2!$A:$A,0)-2,,COUNTIF(Sheet2!$A:$A,A3&"*"))",如图2所示;在“出错警告”选项卡中取消对“输入无效数据时显示出错警告”复选框的勾选,完成设置后单击“确定”按钮关闭对话框,如图3所示。

图2 “设置”选项卡中的设置

图3 “出错警告”选项卡中的设置

提示

这里在公式中使用MATCH()函数在Sheet2工作表的A列中定位Sheet1工作表中A3单元格字符开头记录所在的位置,同时去掉A1:A2这两个单元格的记录,获得的值作为OFFSET()函数偏移的行数。使用COUNTIF()函数统计Sheet2工作表A列中名称和Sheet1工作表A3单元格字符开头相符的数据的个数,将获得值作为OFFSET()函数返回的高度。另外要注意,这里必须取消“输入无效数据时显示出错警告”复选框的勾选,否则在输入部分字符后会报错将无法使用下拉列表选择。

3、选择B3:B30单元格,在编辑栏中输入公式“=IF(A3="","",LOOKUP(A3,表_1))”,按Ctrl+Enter键结束公式的输入。此时在“货品名称”列中输入数据的前几个字符,在下拉列表中将只显示与之相配的选项,如图4所示。选择该选项后,在“入库时间”列单元格中将自动显示对应的入库时间,如图5所示。

图4 在下拉列表中选择选项

图5 自动显示入库时间

返回顶部
顶部