我有一个Excel文档从另一个xls中拉出项目作为列表项以填充下拉菜单。问题是,有很多选择。我找不到快速前往我想要的地方的方法。 (例如,打开下拉列表并按“b”不会像大多数正常下拉菜单那样进入B)
这可能吗?或者,一旦用户开始输入下拉列表,是否有某种方法可以自动完成下拉列表?
答案 0 :(得分:4)
转到工具>选项 - 编辑并选中为单元格启用自动完成
值移动您的项目列表位于
之上的范围内验证单元格。隐藏验证单元上方的行。
取自这里:
答案 1 :(得分:3)
虽然这是一篇很老的帖子,但我想改进它,因为没有很多关于此的重要信息。我想补充三点:
从原始列表中复制和粘贴时,请使用Paste Special
> Paste link
选项。这样,当您的原始列表更新时,此隐藏列表也将更新。
有时无法直接在上方或下方直接添加此列表。要使自动完成功能,这不是必需的。唯一必要的是下拉框与下方或上方的项链表之间存在data link
。例如让我们说你的下拉框在字段B5
上。您的列表可以从B15
开始,提示在第A,B或C列中的第5行和第15行之间存在数据链接(将其视为必须连接/连续的链)。 Data
可以是填充在这些连接单元中的任何东西,甚至是空格。因此,在我们的示例中,我们只需要在单元格B6
到B14
中添加空格,以便自动完成正常运行。这些数据单元也可以位于A5:A15
或C5:C15
中。这听起来很奇怪,但我已经做了很多测试。亲自试试吧!
我想做的最后一点是能够输入一个字母并让下拉列表自动完成。当您使用数据验证下拉列表以及自动完成时,这些实际上是两个不同的数据下拉列表。如果您进入单元格并按键盘快捷键 Alt + 向下箭头,您将获得您设置的验证中使用的下拉列表。如果您先键入一个字母,然后按 Alt + 向下箭头您将获得自动完成下拉列表(列中当前项目的列表,已链接数据,隐藏或不隐藏。)
现在这里有点棘手和奇怪的。如果您有一个很大的项目列表,1000或以上,在您键入第一个字母或字母后,Excel会对列中的可能选项进行背景搜索,以从上到下自动填充。如果这是按字母顺序排列的名称列表并键入B,则按 Alt + 向下箭头,B名称应该很快出现。 (如果在输入字母后不等待一两秒钟。)如果此列表很大且您要查找的名称位于底部,则excel查找这些项目所需的秒数将会增长的清单。因此,如果您要查找以X开头的名称,则输入X,等待几秒钟,然后按 Alt + 向下箭头,并且您的列表应显示那些以X开头的名称。由于列表长度和机器速度不同,所需的时间需要试用和错误。
这看起来很像细节。但是,如果您要求人们从大型列表中选择名称并且在下拉列表中滚动超过3,000个名称不是一个选项,则上述信息将有用,因为最终用户可以节省大量时间定位项目。
我制作了一个视频,概述了Excel中的自动完成功能,显示了Don't Break The Chain
方法的突出显示:
https://youtu.be/PVEzHbdHf1Y
答案 2 :(得分:0)
我有一种替代方法,使用Offset()
从输入到下拉单元格的文本点开始列表。
例如,键入Can
的国家/地区列表将使用Canada
启动列表。只需输入C
,就会以Cambodia
开头。
注意需要关闭错误提醒才能生效。
关键是使用如下公式作为列表来源。
=OFFSET(<I>CountriesListFirstCell</I>,MATCH(<I>DropDownCell</I>&"*",<I>CountriesListcolumn</I>,0)-2,0,COUNTA(<I>CountriesListColumn</I>)-MATCH(<I>DropDownCell</I>&"*",<I>CountriesListColumn</I>,0)+1,1)