Excel 中使下拉列表可搜索的终极指南
在 Excel 中创建下拉列表可简化数据输入并减少错误。但面对较大数据集时,滚动浏览冗长列表难免繁琐。若只需输入文字即可快速定位目标项,岂不更轻松?“使下拉列表可搜索”功能正为您带来这一便利!本指南将为您介绍在 Excel 中设置此类可搜索下拉列表的四种方法。

- 使下拉列表可搜索(适用于 Excel 365)
- 创建使下拉列表可搜索(适用于 Excel 2019 及更高版本)
- 轻松创建使下拉列表可搜索(适用于所有 Excel 版本)
- 使用组合框和 VBA 创建使下拉列表可搜索(操作较复杂)
使下拉列表可搜索(适用于 Excel 365)
Excel 365 在其数据验证下拉列表中引入了一项备受期待的功能:支持在下拉列表中直接搜索。启用此功能后,用户只需像往常一样插入下拉列表,随后单击包含该列表的单元格并开始输入,系统便会即时筛选出与所输文字匹配的选项,助您更高效地快速定位并选择所需内容。
在此例中,当您在单元格中输入 San 后,下拉列表会自动筛选出以 San 开头的城市,例如 San Francisco 和 San Diego。随后,您既可用鼠标点击选择,也可使用方向键导航并按 Enter 键确认。

- 搜索将从下拉列表中每个单词的首字母开始匹配。如果您输入的字符与任一单词的首字母不匹配,列表将不会显示任何匹配项。
- 此功能仅适用于最新版本的 Excel 365.
- 如果您的 Excel 版本不支持此功能,我们推荐使用 Kutools for Excel 的使下拉列表可搜索功能。该功能不受 Excel 版本限制,启用后,只需在下拉列表中输入相关文本,即可轻松搜索所需项目。查看详细步骤。
创建使下拉列表可搜索(适用于 Excel 2019 及更高版本)
如果您使用的是 Excel 2019 或更高版本,本节介绍的方法同样适用于为 Excel 下拉列表添加搜索功能。
假设您已在 Sheet 2 的 A2 单元格(右侧图示)中,基于 Sheet 1 的 A2:A8 区域数据(左侧图示)创建了下拉列表,请按以下步骤为该列表启用搜索功能。

步骤 1:创建一个列出搜索项目的辅助列
此处我们需要一个辅助列,用于列出与您源数据匹配的项目。本例中,我将在 Sheet 1 的 D 列中创建该辅助列。
- 选择 D 列中的第一个单元格 D1,并输入列标题,例如“搜索结果”。
- 在 D2 单元格中输入以下公式,然后按 Enter。
=FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"Not Found")
- 在此公式中,A2:A8 是源数据范围,Sheet 2!A2 是下拉列表所在位置,表示下拉列表位于 Sheet 2 的 A2 单元格中。请根据您的实际数据进行调整。
- 如果未从 Sheet 2 的 A2 单元格下拉列表中选择任何项目,公式将显示源数据中的所有项目,如上图所示;反之,若已选择某项,则 D2 将显示该选项作为公式结果。
步骤 2:重新配置下拉列表
- 选择下拉列表单元格(本例中为 Sheet 2 的 A2 单元格),然后依次点击数据 > 数据验证 > 数据验证。

- 在数据验证对话框中,按以下方式配置:
- 在设置选项卡中,单击源框中的
按钮。
- 此时将跳转到 Sheet 1 的数据验证对话框,在其中选择第 1 步中包含公式的单元格(例如 D2),添加一个#符号,然后单击关闭按钮。

- 转到错误警告选项卡,取消勾选输入无效数据后显示错误警告复选框,然后单击确定按钮以保存更改。

- 在设置选项卡中,单击源框中的
效果
Sheet 2 的 A2 单元格下拉列表现已支持搜索功能。在单元格中输入文字后,单击下拉箭头展开列表,即可立即看到与输入内容匹配的选项被筛选出来。

- 此方法仅适用于 Excel 2019 及更高版本。
- 此方法一次仅适用于一个下拉列表单元格。若要让 Sheet 2 中 A3 至 A8 的每个单元格都支持可搜索的下拉列表,需为每个单元格重复上述步骤。
- 在下拉列表单元格中输入文本时,下拉列表不会自动展开,您需手动点击下拉箭头以展开列表。
轻松创建使下拉列表可搜索(适用于所有 Excel 版本)
鉴于上述方法存在诸多限制,我们为您推荐一款高效工具——Kutools for Excel 的“使下拉列表可搜索并自动弹出”功能。该功能兼容所有 Excel 版本,只需简单设置,即可在下拉列表中轻松搜索所需项目!
下载并安装 Kutools for Excel 后,请在请选择Kutools >下拉列表>“使下拉列表可搜索并自动弹出”以启用此功能。在“使下拉列表可搜索”对话框中,您需要:
- 选择包含需要设置为使下拉列表可搜索的下拉列表的范围。
- 单击确定即可完成设置。
效果
当您单击限定区域中的下拉列表单元格时,右侧会弹出一个列表框。输入文字即可即时筛选列表,随后选择项目,或使用方向键并按 Enter 键将其填入单元格。
- 此功能支持从单词中任意位置开始搜索——即使您输入的是单词中间或末尾的字符,系统也能精准匹配并显示相应项目,带来更全面、更智能的搜索体验!
- 如需了解更多关于此功能的信息,请访问此页面。
- 要使用此功能,请先 下载并安装 Kutools for Excel。
使用组合框和 VBA 创建使下拉列表可搜索(较为复杂)
如果您希望创建一个可搜索的下拉列表,又不想指定特定的下拉列表类型,本节为您提供一种替代方案:通过组合框搭配 VBA 代码实现该功能。
假设您在 A 列中有一份国家名称列表(如下图所示),现在希望将其设为可搜索下拉列表的数据源,只需按以下步骤操作即可轻松实现。

您需要在工作表中插入一个组合框,而不是使用数据验证下拉列表。
- 如果功能区中未显示开发工具选项卡,您可以按以下方式启用它。
- 在 Excel 2010 或更高版本中,单击文件 > 选项。在 Excel 选项对话框中,点击左侧窗格中的自定义功能区。在“自定义功能区”列表框中,勾选开发工具复选框,然后单击确定按钮。参见截图:

- 在 Excel 2007 中,单击 Office 按钮 >Excel 选项。在 Excel 选项对话框中,单击左侧窗格中的常用,勾选在功能区中显示开发工具选项卡复选框,最后单击确定按钮。

- 在 Excel 2010 或更高版本中,单击文件 > 选项。在 Excel 选项对话框中,点击左侧窗格中的自定义功能区。在“自定义功能区”列表框中,勾选开发工具复选框,然后单击确定按钮。参见截图:
- 显示开发工具选项卡后,单击开发工具 > 插入 > 组合框。

- 在工作表中绘制一个组合框,右键单击它,然后从右键菜单中选择属性。

- 在属性对话框中,您需要:
- 在 False 字段中选择 AutoWordSelect;
- 在 LinkedCell 字段中指定一个单元格,例如输入 A12;
- 在 2-fmMatchEntryNone 字段中选择 MatchEntry;
- 在 DropDownList 字段中输入 ListFillRange;
- 关闭属性对话框。参见截图:

- 现在,请单击开发工具 > 设计模式,即可关闭设计模式。
- 选择一个空白单元格(例如 C2),输入以下公式,然后按 Enter。然后向下拖动其自动填充柄至 C9 单元格,以自动填充相同公式。参见截图:
=--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
注意:- $A$12 是您在第 4 步中指定为 LinkedCell 的单元格;
- 完成上述步骤后,您可以立即测试:在组合框中输入字母 C,即可看到引用包含字符 C的单元格的公式单元格已填充数字 1.
- 选择 D2 单元格,输入以下公式,然后按 Enter 然后向下拖动其自动填充柄,直至 D9 单元格。
=IF(C2=1,COUNTIF($C$2:C2,1),"")
- 选择 E2 单元格,输入以下公式,然后按 Enter。然后向下拖动其自动填充柄至 E9 单元格,以应用相同公式。
=IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
- 现在需要创建一个名称范围。请点击公式 > 定义名称。

- 在新建名称对话框中,在 DropDownList 名称 框中输入“DropDownList”,在引用位置框中输入以下公式,然后单击确定按钮。
=$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
- 现在,请单击开发工具 > 设计模式 以启用设计模式,然后双击组合框即可打开 Microsoft Visual Basic for Applications 窗口。
- 将以下 VBA 代码复制并粘贴到代码编辑器中。
VBA 代码:使下拉列表可搜索Private Sub ComboBox1_GotFocus() ComboBox1.ListFillRange = "DropDownList" Me.ComboBox1.DropDown End Sub - 按下 Alt+Q 键,即可关闭 Microsoft Visual Basic for Applications 窗口。
此后,当在组合框中输入字符时,系统将执行模糊搜索,并在列表中显示相关值。

相关文章:
在 Excel 下拉列表中输入时自动补全
如果您的数据验证下拉列表包含大量选项,可能需要反复滚动才能找到所需内容,或手动完整输入整个词组。若能在输入首字母时自动补全匹配项,操作将轻松高效得多!本教程为您提供这一实用解决方案。
在 Excel 中从其他工作簿创建下拉列表
在同一工作簿的不同工作表之间创建数据验证下拉列表非常简单。但若用于数据验证的列表数据位于另一个工作簿中,又该如何操作?本教程将详细介绍如何在 Excel 中从其他工作簿创建下拉列表。
在 Excel 中创建可搜索的下拉列表
当下拉列表包含大量选项时,快速找到所需内容并不容易。此前我们曾介绍过一种方法:在下拉框中输入首字母即可自动补全。除了自动补全,您还可以让下拉列表支持关键词搜索,大幅提升查找效率!立即尝试本教程中的方法,轻松实现可搜索的下拉列表。
在 Excel 下拉列表中选择值时自动填充其他单元格
假设您已基于 B8:B14 单元格区域创建了下拉列表。当选中下拉列表中的任意值时,C8:C14 区域中的对应值将自动填充到目标单元格中。本教程提供的方法将助您轻松实现这一功能!
该最佳办公效率工具
Kutools for Excel —— 助您脱颖而出
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格而不丢失数据 | 不使用公式的四舍五入…… | |
| 超级 VLookup:多条件 | 多值 | 跨多工作表 | 模糊查找…… | |
| 高级下拉列表:简易下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列 | 移动列 | 切换隐藏列的可见性状态 |比较列以选择相同/不同单元格…… | |
| 特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿和工作表管理器|资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符……)| 50+ 图表 类型(甘特图……)| 40+ 实用公式(基于生日计算年龄……)| 19 插入工具(插入二维码,从路径插入图片……)| 12 转换工具(小写金额转大写,汇率转换……)| 7 合并和拆分工具(高级合并行,拆分 Excel 单元格……)|……以及更多 |
Kutools for Excel 拥有超过 300 项功能,确保您所需的功能触手可及……
Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读与编辑
- 一键在数十个打开的文档间切换,仅需一秒!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,工作效率提升 50%。
- 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。


按钮。













