跳至主要内容

在Excel中创建动态下拉列表(分步指南)

Author: Sun Last Modified: 2025-07-31

在本教程中,我们将逐步介绍如何创建一个动态下拉列表,该列表会根据第一个下拉列表中选择的值显示选项。换句话说,我们将基于另一个列表的值创建一个Excel数据验证列表。

创建动态下拉列表
使用便捷工具快速创建动态下拉列表
在Excel 2021、Excel 365及更新版本中创建动态下拉列表
关于本教程的一些常见问题

A screenshot showing a dependent drop-down list setup in Excel

免费下载示例文件 An icon for downloading the sample file for creating dependent drop-down lists in Excel


视频:创建Excel动态下拉列表

 

创建动态下拉列表

 

步骤1:输入下拉列表条目

1. 首先,在每个列表的单独列中输入您希望出现在下拉列表中的条目。

请注意,第一列(产品)中的项目将作为后续依赖列表的Excel名称。例如,这里的“水果”和“蔬菜”将分别成为B2:B5和C2:C6的名称。

请参见截图:

A screenshot showing entries for drop-down lists in Excel, each list in a separate column

2. 然后为每个数据列表创建表格。

选择A1:A3区域,点击“插入”>“表格”,然后在“创建表格”对话框中勾选“我的表格有标题”复选框,点击“确定”。

A screenshot showing how to create a table in Excel for drop-down list entries

然后重复此步骤为其他两个列表创建表格。

您可以在名称管理器中查看所有表格及其引用范围(按“Ctrl + F3”打开)。

A screenshot showing the Name Manager with table references in Excel

步骤2:创建区域名称

在此步骤中,您需要为主列表和每个依赖列表创建“名称”。

1. 选择主列表中出现的项目(“A2:A3”)。

2. 然后转到编辑栏旁边的“名称框”。

3. 在其中输入名称,这里将其命名为“产品”。

4. 按“Enter”键完成。

A screenshot showing how to create a range name for the main drop-down list in Excel

然后重复上述步骤分别为每个依赖列表创建名称。

这里将第二列(B2:B5)命名为“水果”,第三列(C2:C6)命名为“蔬菜”。

A screenshot showing how to create range names for the fruit list

A screenshot showing how to create range names for the vegetable list

您可以在名称管理器中查看所有区域名称(按“Ctrl + F3”打开)。

A screenshot showing range names for dependent drop-down lists in the Name Manager in Excel

步骤3:添加主下拉列表

接下来,添加主下拉列表(产品),这是一个普通的下拉列表,而不是动态下拉列表。

1. 首先,创建一个表格。

选择一个单元格(“E1”),并输入第一列标题(“产品”),然后移动到下一列单元格(“F1”),输入第二列标题(“项目”)。此表格将包含下拉列表。

然后选择这两个标题(“E1”和“F1”),点击“插入”选项卡,并在表格组中选择“表格”。

在“创建表格”对话框中,勾选“我的表格有标题”框,然后点击“确定”。

A screenshot showing the creation of a table for drop-down list usage in Excel

2. 选择要插入主下拉列表的单元格“E2”,点击“数据”选项卡,然后转到“数据工具”组,点击“数据验证”>“数据验证”。

A screenshot showing how to insert a main drop-down list in Excel using Data Validation

3. 在“数据验证”对话框中,

  • 在“允许”部分选择“列表”,
  • 在“来源”栏中输入以下公式,Product是主列表的名称,
  • 点击“确定”。
=Product

A screenshot showing the Data Validation dialog for the main drop-down list in Excel

您可以看到主下拉列表已经创建好了。

A screenshot showing the main drop-down list created in Excel

步骤4:添加动态下拉列表

1. 选择要添加动态下拉列表的单元格“F2”,点击“数据”选项卡,然后转到“数据工具”组,点击“数据验证”>“数据验证”。

2. 在“数据验证”对话框中,

  • 在“允许”部分选择“列表”,
  • 在“来源”栏中输入以下公式,E2是包含主下拉列表的单元格。
  • 点击“确定”。
=INDIRECT(SUBSTITUTE(E2," ","_"))

A screenshot showing how to add a dependent drop-down list in Excel using Data Validation

如果E2为空(您未在主下拉列表中选择任何项目),您将看到如下消息弹出,点击“是”继续。

A screenshot showing a warning message when the main drop-down list is empty in Excel

现在动态下拉列表已创建完成。

A screenshot showing a completed dependent drop-down list in Excel

步骤5:测试动态下拉列表。

1. 在主下拉列表(“E2”)中选择“水果”,然后转到动态下拉列表(“F2”)点击箭头图标,查看水果项目是否在列表中,然后从动态下拉列表中选择一个项目。

2. 按“Tab”键在数据输入表中开始新行,选择“蔬菜”,然后移动到右侧的下一个单元格,查看蔬菜项目是否在列表中,然后从动态下拉列表中选择一个项目。

An animation demonstrating how to use the dependent drop-down list in Excel

注意事项:

使用便捷工具快速创建动态下拉列表

 

Kutools for Excel 提供了一种强大的工具,可以更轻松、更快地创建动态下拉列表:

An animation showing how to create a dependent drop-down list in Excel using Kutools

Kutools for Excel 提供了超过 300 种高级功能,简化复杂任务,提升创造力与效率。 通过集成 AI 能力,Kutools 能够精准自动执行任务,让数据管理变得轻松简单。Kutools for Excel 的详细信息...         免费试用...

步骤1:输入下拉列表条目

首先,按照以下截图所示排列您的数据:

A screenshot showing how to arrange data for creating a dependent drop-down list

步骤2:应用Kutools工具

1. 选择您创建的数据,点击“Kutools”选项卡,然后点击“下拉列表”以显示子菜单,点击“动态下拉列表”。

A screenshot showing the Kutools Drop-down List menu in Excel

2. 在“动态下拉列表”中:

  • 勾选与您的数据模式匹配的“模式B”,
  • 选择“输出区域”,输出区域列数必须等于数据区域列数,
  • 点击“确定”。

A screenshot showing the Dependent Drop-down List dialog

现在动态下拉列表已创建完成。

A screenshot showing a completed dependent drop-down list created with Kutools

提示:
  • “模式B”支持在下拉列表中创建第三级或更多级别:
    A screenshot showing Mode B in Kutools for creating a multi-level dependent drop-down list
  • 如果您的数据按照以下截图所示排列,则需要使用“模式A”,它仅支持创建两级动态下拉列表。
    A screenshot showing Mode A in Kutools for creating a 2-level dependent drop-down list
  • 有关如何使用Kutools创建动态下拉列表的更多详细信息,请访问本教程

Kutools for Excel

全功能免费试用30天,无需信用卡。

为Excel提供300多种强大的高级功能和函数。

不需要任何特殊技能,每天节省数小时时间。

在Excel 2021、Excel 365及更新版本中创建动态下拉列表

 

如果您使用的是Excel 365、Excel 2021或更新版本,还有另一种方法可以通过使用新函数“UNIQUE”和“FILTER”快速创建动态下拉列表。

假设您的源数据按照截图所示排列,请按照以下步骤创建动态下拉列表。

A screenshot showing source data arranged for creating dependent drop-down lists in Excel

步骤1:使用公式获取主下拉列表的项目

选择一个单元格,例如G3单元格,使用UNIQUE和FILTER函数从“产品”列表中提取唯一值,这将是主下拉列表的来源,然后按“Enter”键。

=UNIQUE(FILTER(A3:A20, A3:A20<>""))
注意:由于产品位于A3:A12,我们在数组中额外添加了8个单元格以适应可能的新条目。此外,我们嵌套了FILTER函数到UNIQUE中,以提取不带空白的唯一值。

A screenshot showing the UNIQUE and FILTER formula used to extract items for the main drop-down list in Excel

步骤2:创建主下拉列表

1. 选择要放置主下拉列表的单元格,例如“D3”单元格,点击“数据”选项卡,然后转到“数据工具”组,点击“数据验证”>“数据验证”。

2. 在“数据验证”对话框中,

  • 在“允许”部分选择“列表”,
  • 在“来源”栏中输入以下公式,
  • 点击“确定”。
=$G$3#
注意:这称为溢出范围引用,此语法表示整个范围,无论其扩展或收缩多少。

A screenshot showing the Data Validation dialog for creating the main drop-down list in Excel

现在主下拉列表已创建完成。

A screenshot showing the created main drop-down list in Excel

步骤3:使用公式获取动态下拉列表的项目

选择一个单元格,例如H3单元格,使用FILTER函数根据单元格“D3”中的值(主下拉列表中的选定项)筛选项目,然后按“Enter”键。

=FILTER(B3:B20, A3:A20=D3)
注意:如果主下拉列表中有空白,公式将返回零。

A screenshot showing the FILTER formula used to extract dependent items in Excel

步骤4:创建动态下拉列表

1. 选择要放置动态下拉列表的单元格,例如“E3”单元格,点击“数据”选项卡,然后转到“数据工具”组,点击“数据验证”>“数据验证”。

2. 在“数据验证”对话框中,

  • 在“允许”部分选择“列表”,
  • 在“来源”栏中输入以下公式,
  • 点击“确定”。
=$H$3#
注意:这称为溢出范围引用,此语法表示整个范围,无论其扩展或收缩多少。

A screenshot showing the Data Validation dialog for creating the dependent drop-down list in Excel

现在动态下拉列表已成功创建。

A screenshot showing the completed dependent drop-down list in Excel

当您在A3:A20中添加新项目或进行一些更改时,下拉列表将自动更新。

提示:

按字母顺序排序下拉列表

如果您希望按字母顺序排列下拉列表中的项目,可以使用以下公式对准备表进行操作。

对于主下拉列表(G3单元格中的公式):

=SORT(UNIQUE(FILTER(A3:A20, A3:A20<>"")))

对于动态下拉列表(H3单元格中的公式):

=SORT(FILTER(B3:B20, A3:A20=D3))

现在两个下拉列表都已按字母顺序从A到Z排序。

A screenshot showing the sorted dependent drop-down lists alphabetically in Excel

如需按字母顺序从Z到A排序,请使用以下公式:

对于主下拉列表(G3单元格中的公式):

=SORT(UNIQUE(FILTER(A3:A20, A3:A20<>"")), 1, -1)

对于动态下拉列表(H3单元格中的公式):

=SORT(FILTER(B3:B20, A3:A20=D3), 1, -1)

您可能会问的一些问题:

1. 为什么要为每个数据列表插入表格?

为数据列表插入表格可以帮助您根据数据列表的变化自动更新下拉列表。例如,在第一个数据列表中添加“其他”,那么主下拉列表也会自动添加“其他”。

A screenshot showing how a table automatically updates a drop-down list when new data is added

2. 为什么使用表格来放置下拉列表?

当您按下Tab键向表格中添加新行时,下拉列表也会自动添加到新行中。

3. INDIRECT函数是如何工作的?

INDIRECT函数用于将文本字符串转换为有效引用。

4. 公式INDIRECT(SUBSTITUTE(E2&F2," ",""))是如何工作的?

首先,SUBSTITUTE函数用于替换文本。在这里,它用于从组合名称(E2和F2)中删除空格。然后INDIRECT函数将文本字符串(由E2和F2组合的内容)转换为有效引用。

最佳 Office 办公效率工具

🤖 Kutools AI 助手:基于智能执行,彻底革新数据分析 生成代码创建自定义公式分析数据并生成图表调用 Kutools Functions
热门功能:查找、选中项的背景色或标记重复项|删除空行|合并列或单元格且不丢失数据|四舍五入(无公式)...
高级 LOOKUP多条件查找 (VLookup)多值查找 (VLookup)多表查找 (VLookup Across Multiple Sheets)模糊查找 (Fuzzy Lookup)...
高级下拉列表快速创建下拉列表依赖型下拉列表多选下拉列表...
列管理器添加指定数量的列移动列切换隐藏列的可见状态比较区域及列...
特色功能网格聚焦设计视图增强编辑栏工作簿 & 工作表管理器资源库(自动文本)|日期提取合并数据加密/解密单元格按列表发送电子邮件超级筛选特殊筛选(筛选粗体/倾斜/删除线等)...
热门15 大工具集12 款文本工具添加文本删除特定字符等)50+ 种图表 类型甘特图等)40+ 实用公式基于生日计算年龄等)19 款插入工具插入二维码按路径插入图片等)12 种转换工具小写金额转大写汇率转换等)7 款合并与分割工具高级合并行分割单元格等)...更多精彩等你发现
使用 Kutools,支持您的首选语言——包括英语、西班牙语、德语、法语、中文及40 多种其他语言!

用 Kutools for Excel 加速你的 Excel 技能,体验前所未有的高效办公。 Kutools for Excel 提供300 多项高级功能,助您提升效率,节省大量时间。点击此处,获取你最需要的功能...


Office Tab 为 Office 带来标签式界面,让你的工作更加轻松

  • 在 Word、Excel、PowerPoint 启用标签式编辑和阅读
  • 在同一窗口的新标签中打开和创建多个文档,无需新建窗口。
  • 办公效率提升50%,每天帮你减少上百次鼠标点击!