KutoolsforOffice — 一套方案,五大工具。事半功倍。

Excel 中使下拉列表可搜索的终极指南

作者Siluvia修改日期

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

可搜索的下拉列表



视频:创建使下拉列表可搜索

 


使下拉列表可搜索(适用于 Excel 365)

Excel 365 在其数据验证下拉列表中引入了一项备受期待的功能:支持在下拉列表中直接搜索。启用此功能后,用户只需像往常一样插入下拉列表,随后单击包含该列表的单元格并开始输入,系统便会即时筛选出与所输文字匹配的选项,助您更高效地快速定位并选择所需内容。

在此例中,当您在单元格中输入 San 后,下拉列表会自动筛选出以 San 开头的城市,例如 San FranciscoSan Diego。随后,您既可用鼠标点击选择,也可使用方向键导航并按 Enter 键确认。

Excel 365 中的可搜索下拉列表

注意事项
  • 搜索将从下拉列表中每个单词的首字母开始匹配。如果您输入的字符与任一单词的首字母不匹配,列表将不会显示任何匹配项。
  • 此功能仅适用于最新版本的 Excel 365.
  • 如果您的 Excel 版本不支持此功能,我们推荐使用 Kutools for Excel使下拉列表可搜索功能。该功能不受 Excel 版本限制,启用后,只需在下拉列表中输入相关文本,即可轻松搜索所需项目。查看详细步骤

创建使下拉列表可搜索(适用于 Excel 2019 及更高版本)

如果您使用的是 Excel 2019 或更高版本,本节介绍的方法同样适用于为 Excel 下拉列表添加搜索功能。

假设您已在 Sheet 2 的 A2 单元格(右侧图示)中,基于 Sheet 1 的 A2:A8 区域数据(左侧图示)创建了下拉列表,请按以下步骤为该列表启用搜索功能。

 示例数据

步骤 1:创建一个列出搜索项目的辅助列

此处我们需要一个辅助列,用于列出与您源数据匹配的项目。本例中,我将在 Sheet 1D 列中创建该辅助列。

  1. 选择 D 列中的第一个单元格 D1,并输入列标题,例如“搜索结果”。
  2. 在 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:重新配置下拉列表
  1. 选择下拉列表单元格(本例中为 Sheet 2 的 A2 单元格),然后依次点击数据 > 数据验证 > 数据验证
     单击 数据 > 数据验证 > 数据验证
  2. 数据验证对话框中,按以下方式配置:
    1. 设置选项卡中,单击源框中的 选择按钮 按钮。
       单击选择按钮
    2. 此时将跳转到 Sheet 1 的数据验证对话框,在其中选择第 1 步中包含公式的单元格(例如 D2),添加一个#符号,然后单击关闭按钮。
       选择包含公式的单元格,并添加 # 符号
    3. 转到错误警告选项卡,取消勾选输入无效数据后显示错误警告复选框,然后单击确定按钮以保存更改。
       取消勾选“输入无效数据后显示错误警告”复选框
效果

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

下拉列表现在可搜索

注意事项
  • 此方法仅适用于 Excel 2019 及更高版本。
  • 此方法一次仅适用于一个下拉列表单元格。若要让 Sheet 2 中 A3 至 A8 的每个单元格都支持可搜索的下拉列表,需为每个单元格重复上述步骤。
  • 在下拉列表单元格中输入文本时,下拉列表不会自动展开,您需手动点击下拉箭头以展开列表。

轻松创建使下拉列表可搜索(适用于所有 Excel 版本)

鉴于上述方法存在诸多限制,我们为您推荐一款高效工具——Kutools for Excel“使下拉列表可搜索并自动弹出”功能。该功能兼容所有 Excel 版本,只需简单设置,即可在下拉列表中轻松搜索所需项目!

下载并安装 Kutools for Excel 后,请在请选择Kutools >下拉列表>“使下拉列表可搜索并自动弹出”以启用此功能。在“使下拉列表可搜索”对话框中,您需要:

  1. 选择包含需要设置为使下拉列表可搜索的下拉列表的范围。
  2. 单击确定即可完成设置。
    Kutools 提供的可搜索下拉列表
效果

当您单击限定区域中的下拉列表单元格时,右侧会弹出一个列表框。输入文字即可即时筛选列表,随后选择项目,或使用方向键并按 Enter 键将其填入单元格。

注意事项
  • 此功能支持从单词中任意位置开始搜索——即使您输入的是单词中间或末尾的字符,系统也能精准匹配并显示相应项目,带来更全面、更智能的搜索体验!
  • 如需了解更多关于此功能的信息,请访问此页面
  • 要使用此功能,请先 下载并安装 Kutools for Excel
Kutools for Excel 提供超过 300 项高级功能,简化复杂任务,提升创造力与效率。结合 AI 能力,Kutools 以精准方式自动化任务,让数据管理变得轻而易举。Kutools for Excel 的详细信息……         免费试用……

使用组合框和 VBA 创建使下拉列表可搜索(较为复杂)

如果您希望创建一个可搜索的下拉列表,又不想指定特定的下拉列表类型,本节为您提供一种替代方案:通过组合框搭配 VBA 代码实现该功能。

假设您在 A 列中有一份国家名称列表(如下图所示),现在希望将其设为可搜索下拉列表的数据源,只需按以下步骤操作即可轻松实现。

示例数据

您需要在工作表中插入一个组合框,而不是使用数据验证下拉列表。

  1. 如果功能区中未显示开发工具选项卡,您可以按以下方式启用它。
    1. 在 Excel 2010 或更高版本中,单击文件 > 选项。在 Excel 选项对话框中,点击左侧窗格中的自定义功能区。在“自定义功能区”列表框中,勾选开发工具复选框,然后单击确定按钮。参见截图:
       启用开发工具选项卡的步骤
    2. 在 Excel 2007 中,单击 Office 按钮 >Excel 选项。在 Excel 选项对话框中,单击左侧窗格中的常用,勾选在功能区中显示开发工具选项卡复选框,最后单击确定按钮。
       在 Excel 2007 中启用开发工具选项卡的步骤
  2. 显示开发工具选项卡后,单击开发工具 > 插入 > 组合框
     单击 开发工具 > 插入 > 组合框
  3. 在工作表中绘制一个组合框,右键单击它,然后从右键菜单中选择属性
    绘制一个组合框,右键单击它,然后选择 属性
  4. 属性对话框中,您需要:
    1. False 字段中选择 AutoWordSelect
    2. LinkedCell 字段中指定一个单元格,例如输入 A12;
    3. 2-fmMatchEntryNone 字段中选择 MatchEntry
    4. DropDownList 字段中输入 ListFillRange
    5. 关闭属性对话框。参见截图:
      在属性对话框中设置选项
  5. 现在,请单击开发工具 > 设计模式,即可关闭设计模式。
  6. 选择一个空白单元格(例如 C2),输入以下公式,然后按 Enter。然后向下拖动其自动填充柄至 C9 单元格,以自动填充相同公式。参见截图:
    =--ISNUMBER(IFERROR(SEARCH($A$12,A2,1),""))
     应用公式
    注意
    1. $A$12 是您在第 4 步中指定为 LinkedCell 的单元格;
    2. 完成上述步骤后,您可以立即测试:在组合框中输入字母 C,即可看到引用包含字符 C的单元格的公式单元格已填充数字 1.
  7. 选择 D2 单元格,输入以下公式,然后按 Enter 然后向下拖动其自动填充柄,直至 D9 单元格。
    =IF(C2=1,COUNTIF($C$2:C2,1),"")
     应用另一个公式
  8. 选择 E2 单元格,输入以下公式,然后按 Enter。然后向下拖动其自动填充柄至 E9 单元格,以应用相同公式。
    =IFERROR(INDEX($A$2:$A$9,MATCH(ROWS($D$2:D2),$D$2:$D$9,0)),"")
     应用第三个公式
  9. 现在需要创建一个名称范围。请点击公式 > 定义名称
     单击 公式 > 定义名称
  10. 新建名称对话框中,在 DropDownList 名称 框中输入“DropDownList”,在引用位置框中输入以下公式,然后单击确定按钮。=$E$2:INDEX($E$2:$E$9,MAX($D$2:$D$9),1)
    
    
    在新建名称对话框中指定选项
  11. 现在,请单击开发工具 > 设计模式 以启用设计模式,然后双击组合框即可打开 Microsoft Visual Basic for Applications 窗口。
  12. 将以下 VBA 代码复制并粘贴到代码编辑器中。
    将下方的 VBA 代码复制并粘贴到代码编辑器中
    VBA 代码:使下拉列表可搜索
    Private Sub ComboBox1_GotFocus()
    	ComboBox1.ListFillRange = "DropDownList"
    	Me.ComboBox1.DropDown
    End Sub
  13. 按下 Alt+Q 键,即可关闭 Microsoft Visual Basic for Applications 窗口。

此后,当在组合框中输入字符时,系统将执行模糊搜索,并在列表中显示相关值。

下拉列表可搜索

注意:您需将此工作簿另存为 Excel 启用宏的工作簿文件,以便保留 VBA 代码供日后使用。

该最佳办公效率工具

Kutools for Excel —— 助您脱颖而出

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项  |  删除空白行  |  合并列或单元格而不丢失数据  |  不使用公式的四舍五入……
超级 VLookup多条件  |  多值  |  跨多工作表  |  模糊查找……
高级下拉列表简易下拉列表  |  级联下拉列表  |  多选下拉列表……
列管理器添加指定数量的列  |  移动列  |  切换隐藏列的可见性状态  |比较列以选择相同/不同单元格……
特色功能网格聚焦  |  设计视图  |  增强编辑栏  |  工作簿和工作表管理器|资源库(自动文本)|  日期提取  |  汇总工作表  |  加密/解密单元格  |  按列表发送邮件  |  超级筛选  |  特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符……)|  50+ 图表 类型甘特图……)|  40+ 实用公式基于生日计算年龄……)|  19 插入工具插入二维码从路径插入图片……)|  12 转换工具小写金额转大写汇率转换……)|  7 合并和拆分工具高级合并行拆分 Excel 单元格……)|……以及更多
在您的首选语言中使用 Kutools——支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

Kutools for Excel 拥有超过 300 项功能,确保您所需的功能触手可及……


Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读与编辑

  • 一键在数十个打开的文档间切换,仅需一秒!
  • 每天为您减少数百次鼠标点击,告别鼠标手。
  • 在查看和编辑多个文档时,工作效率提升 50%。
  • 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。