Excel 中可搜索下拉列表的终极指南
在 Excel 中创建下拉列表可以简化数据输入并减少错误。但是,对于较大的数据集,滚动浏览冗长的列表会变得很麻烦。如果能够直接键入并快速找到所需项目,不是更方便吗?“可搜索下拉列表”就提供了这种便利。本指南将引导您完成在 Excel 中设置此类列表的四种方法。
- Excel 365 中的可搜索下拉列表
- 创建可搜索下拉列表(适用于 Excel 2019 及更高版本)
- 轻松创建可搜索下拉列表(适用于所有 Excel 版本)
- 使用组合框和 VBA 创建可搜索下拉列表(较复杂)
Excel 365 中的可搜索下拉列表
Excel 365 在其数据验证下拉列表中引入了一个备受期待的功能:能够在列表内进行搜索。通过这种可搜索功能,用户可以更快地定位和选择项目,从而提高效率。按照常规方式插入下拉列表后,只需单击带有下拉列表的单元格并开始输入。列表将立即过滤以匹配输入的文本。
在此示例中,我在单元格中输入 San,下拉列表将筛选出以搜索词 San 开头的城市,例如旧金山和圣地亚哥。然后,您可以使用鼠标选择结果,或者使用箭头键并按 Enter 键确认。
- 搜索从下拉列表中每个单词的首字母开始。如果您输入的字符与任何单词的起始字符不匹配,列表将不会显示匹配项。
- 此功能仅在最新版本的 Excel 365 中可用。
- 如果您的 Excel 版本不支持此功能,我们在此推荐 可搜索下拉列表 功能来自 Kutools for Excel。该功能没有 Excel 版本限制,启用后,只需键入相关文本即可轻松在下拉列表中搜索到所需的项目。 查看详细步骤。
创建可搜索下拉列表(适用于 Excel 2019 及更高版本)
如果您使用的是 Excel 2019 或更高版本,本节中的方法也可以用于使 Excel 中的下拉列表具备搜索功能。
假设您已经使用 Sheet1 中 A2:A8 范围内的数据(左图)在 Sheet2 的 A2 单元格中创建了下拉列表(右图),请按照以下步骤使列表可搜索。
步骤 1. 创建一个列出搜索项目的辅助列
这里我们需要一个辅助列来列出与源数据匹配的项目。在此示例中,我将在 Sheet1 的 D 列中创建辅助列。
- 选择 D 列中的第一个单元格 D1,并输入列标题,例如本例中的“搜索结果”。
- 在单元格 D2 中输入以下公式并按 Enter.
=FILTER(A2:A8,ISNUMBER(SEARCH(Sheet2!A2,A2:A8)),"未找到")
- 在此公式中,A2:A8 是源数据范围。Sheet2!A2 是下拉列表的位置,这意味着下拉列表位于 Sheet2 的 A2 单元格中。请根据您自己的数据更改它们。
- 如果没有从 Sheet2 的 A2 下拉列表中选择任何项目,公式将显示源数据中的所有项目,如上图所示。相反,如果选择了某个项目,D2 将显示该项目作为公式的计算结果。
步骤 2:重新配置下拉列表
- 选择下拉列表单元格(在此示例中,我选择 Sheet2 的 A2 单元格),然后转到选择 数据 > 数据验证 > 数据验证.
- 在 数据验证 对话框中,您需要按如下方式配置。
- 在 设置 选项卡中,点击
按钮在 来源 框中。
- 在 数据验证 对话框将重定向到 Sheet1,选择包含步骤 1 公式的单元格(例如,D2),添加一个 # 符号,并点击 关闭 按钮。
- 转到 错误警告 选项卡,取消选中 在输入无效数据后显示错误警告 复选框,最后点击 确定 按钮以保存更改。
- 在 设置 选项卡中,点击
结果
现在,Sheet2 中 A2 单元格的下拉列表已具备搜索功能。在单元格中输入文本,点击下拉箭头展开下拉列表,您将看到列表即时过滤以匹配输入的文本。
- 此方法仅适用于 Excel 2019 及更高版本。
- 此方法一次只能作用于一个下拉列表单元格。要使 Sheet2 中 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 选项 对话框中,点击 自定义功能区 在左侧窗格中。转到“自定义功能区”列表框,勾选 开发工具 框,然后点击 确定 按钮。见截图:
- 显示 开发工具 选项卡后,点击 开发工具 > 插入 > 组合框.
- 在工作表中绘制一个组合框,右键单击它,然后从右键菜单中选择 属性 。
- 在 属性 对话框中,您需要执行以下操作:
- 在 AutoWordSelect 字段中选择 False;
- 在 LinkedCell 字段中指定一个单元格。在此示例中,我们输入 A12;
- 在 MatchEntry 字段中选择 2-fmMatchEntryNone;
- 在 ListFillRange 字段中输入 DropDownList;
- 关闭 属性 对话框。见截图:
- 现在通过点击 开发工具 > 设计模式 关闭设计模式。
- 选择一个空白单元格,例如 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 在 名称 框中,在 引用位置 框中输入以下公式,然后点击 确定 按钮。
=$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 函数… |
热门功能:查找、高亮或标记重复项 | 删除空行 | 合并列或单元格而不丢失数据 | 无需公式四舍五入 ... | |
超级 VLookup:多条件 | 多值 | 跨多表 | 模糊查找... | |
高级下拉列表:简易下拉列表 | 级联下拉列表 | 多选下拉列表... | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较列以 选择相同和不同单元格 ... | |
特色功能:网格聚焦 | 设计视图 | 增强编辑栏 | 工作簿与工作表管理器 | 资源库(自动文本) | 日期提取 | 合并工作表 | 加密/解密单元格 | 按列表发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/斜体/删除线...) ... | |
排名前 15 的工具集:12 个文本工具(添加文本,删除特定字符 ...) | 50+ 种图表 类型(甘特图 ...) | 40+ 实用 公式(基于生日计算年龄 ...) | 19 个插入工具(插入二维码,从路径插入图片 ...) | 12 个转换工具(小写金额转大写,汇率转换 ...) | 7 个合并和拆分工具(高级合并行,拆分 Excel 单元格 ...) | ... 更多功能 |
Kutools for Excel 拥有超过 300 项功能,确保您所需的一切都仅需一键之遥...
Office Tab - 在 Microsoft Office(包括 Excel)中启用标签式阅读和编辑
- 一秒内在数十个打开的文档之间切换!
- 每天为您减少数百次鼠标点击,告别鼠标手。
- 在查看和编辑多个文档时,您的生产力可提升 50%。
- 为 Office(包括 Excel)带来高效标签页,就像 Chrome、Edge 和 Firefox 一样。