要在 Excel 中创建下拉列表,请选中单元格,转到 数据 → 数据验证(Data Validation),将 允许 设为 序列(List),然后在 来源 中输入用逗号分隔的选项,或选中包含这些选项的单元格。点击 确定,每个单元格旁边就会出现一个箭头,点开即可看到你的列表。
唯一重要的选择是选项从哪里来。手动输入的列表速度很快,但不方便修改。如果列表会不断增加,请把选项放在 Excel 表格中,这样每个下拉菜单都会自动获取新增的条目。
| 选项来源 | “来源”框中的示例 | 是否自动更新? | 最适合 |
|---|---|---|---|
| 手动输入的列表 | 是,否,待定 | 否,需手动修改 | 永远不变的短列表 |
| 单元格区域 | =$F$2:$F$5 | 仅当你在区域内部编辑时才会更新 | 保存在工作表上的固定列表 |
| Excel 表格 | 选中表格列中的单元格 | 是,添加行时自动更新 | 会不断增加的列表 |
| 溢出区域 | =$H$2# | 是,来自 UNIQUE 之类的公式 | 从现有数据中提取的列表 |
| 联动列表 | =INDIRECT($A2) | 取决于第一个下拉菜单的选择 | 先选类别,再选具体项目 |
分步创建下拉列表
这些步骤适用于 Windows 版 Excel for Microsoft 365、Excel 2021 和 2019,在 Mac 版和网页版 Excel 中几乎完全相同(差异见下文)。
- 在一列中输入列表选项,中间不要留空白单元格,例如在 F2:F5 中输入 未开始、进行中、已完成 和 受阻。专门建一个名为“Lists”的工作表来存放它们效果很好。
- 选中要出现下拉菜单的单元格,例如 C2:C50。
- 转到 数据 → 数据验证(位于“数据工具”组中)。在 Windows 上,键盘快捷键是 Alt, A, V, V(适用于英文版 Excel)。
- 在 设置 选项卡上,将 允许 设为 序列。
- 单击 来源 框,然后在工作表上选中你的选项(F2:F5,不含标题)。Excel 会填入
=$F$2:$F$5。 - 确保已勾选 提供下拉箭头(In-cell dropdown)。如果允许空单元格,请保持勾选 忽略空值。
- 点击 确定。

选中其中一个单元格,旁边就会出现一个箭头。点击它,或按 Alt+Down Arrow(Mac 上为 Option+Down Arrow),即可打开列表。

直接输入选项,而不是选择单元格
对于简短、固定的列表,可以直接在 来源 中输入:是,否,待定。逗号后面不要加空格,否则空格会成为每个选项的一部分。如果你的区域设置使用逗号作为小数点,Excel 可能要求使用分号(是;否;待定)。“来源”框最多容纳 255 个字符,所以较长的列表应该放在工作表上。
Mac 版和网页版 Excel
- Mac: 数据 → 数据验证(在某些版本中,“工具”组里的按钮名为 验证)。对话框有同样的三个选项卡。
- 网页版: 数据 → 数据验证(窗口较窄时位于 数据工具 下),之后的 允许 → 序列 步骤相同。
- 移动端: iPhone、iPad 和 Android 应用可以让你从在电脑上创建的下拉菜单中选择。
用表格让列表自动扩展
像 $F$2:$F$5 这样的普通区域不会包含你在 F6 中输入的新选项。把列表变成表格就可以做到:
- 单击列表中的一个单元格并按
Ctrl+T(Mac 上为Cmd+T)。勾选 表包含标题,然后点击 确定。 - 按上文所述创建下拉菜单,在 来源 中选中表格的数据单元格(不含标题)。
- 在表格正下方的行中输入新选项。表格会自动扩展,所有基于它的下拉菜单都会显示新选项。
你不能直接在 来源 中输入像 =Table1[Status] 这样的表格引用,Excel 会拒绝。请改为选中单元格,或者使用 =INDIRECT("Table1[Status]")。
命名区域 也同样适用:选中这些选项,在 名称框(公式栏左侧)中输入一个名称,例如 Statuses,按 Enter,然后使用 =Statuses 作为来源。
用 UNIQUE 从现有数据生成动态列表
如果选项应该来自你已有的数据,例如 A 列中的所有客户名称,可以让公式来生成列表。在 Excel for Microsoft 365、Excel 2021 或更高版本,或网页版 Excel 中:
- 在一个空单元格(比如 H2)中输入
=SORT(UNIQUE(FILTER(A2:A500,A2:A500<>"")))。排好序且无重复的列表会从 H2 向下溢出(FILTER部分用于排除空单元格,否则它们会显示为 0)。 - 创建下拉菜单,并将 来源 设为
=$H$2#。
# 告诉 Excel 使用整个溢出区域,无论它变得多长,所以新的名称会自动出现在下拉菜单中。你无法把 UNIQUE 本身直接放进“来源”框,这就是需要辅助单元格的原因。关于 UNIQUE 的更多内容,请参阅 Excel 删除重复项的 5 种方法(删除数据与不删除数据都有)。
公式按英文版 Excel 中的写法显示;中文版 Excel 的函数名称相同,参数之间同样使用逗号分隔。
使用另一个工作表上的列表
在 来源 框处于活动状态时,点击另一个工作表的标签并选中单元格;Excel 会写入类似 =Lists!$A$2:$A$10 的内容。之后你可以隐藏 Lists 工作表(右键单击其标签 → 隐藏),避免别人不小心编辑它。位于其他工作簿中的来源只有在该工作簿打开时才有效,所以请把列表放在同一个文件中。
用 INDIRECT 创建联动(级联)下拉菜单
联动下拉菜单会根据另一个单元格的内容改变选项:在 A 列选择 Fruit(水果),B 列就只提供水果。
- 在 Lists 工作表上,把每个类别放在标题中,选项排在下面。例如 D1 中是 Fruit,下面是 Apple、Banana、Cherry;E1 中是 Vegetables(蔬菜),下面是 Carrot、Leek、Pea。
- 选中 D1:E4,转到 公式 → 根据所选内容创建。只勾选 首行,然后点击 确定。Excel 会为每一列创建一个以标题命名的命名区域。
- 在主工作表的 A2 中创建一个普通下拉菜单,其来源是两个标题单元格
=Lists!$D$1:$E$1(类别名称)。 - 选中 B2,打开 数据 → 数据验证,选择 序列,并输入
=INDIRECT($A2)作为来源。 - 如果 Excel 警告来源当前计算结果为错误,请点击 是。这只是因为 A2 目前还是空的。
名称中不能包含空格,所以 根据所选内容创建 会把“Dairy products”变成 Dairy_products。对于包含空格的类别,请改用 =INDIRECT(SUBSTITUTE($A2," ","_"))。
添加输入信息和出错警告
- 输入信息: 勾选 选定单元格时显示输入信息,并输入标题和简短的信息,例如“请选择任务状态”。每当有人选中该单元格时,它就会出现。
- 出错警告: 勾选 输入无效数据时显示出错警告,并选择一种 样式。停止 会阻止所有不在列表中的内容,而 警告 和 信息 会显示你的提示信息,但仍允许输入通过。
请注意,数据验证只检查人们输入的内容。粘贴到单元格上会连同内容一起替换掉它的下拉菜单。
通过键入搜索下拉菜单
在当前的 Microsoft 365 版 Excel 中,在下拉单元格中键入字符会把列表筛选为包含这些字母的选项,使较长的列表使用起来快得多。Excel 2021 及更早版本没有这一功能。
编辑、复制或删除下拉列表
添加或更改选项。 对于表格,在其下方输入新选项即可。对于区域,编辑这些单元格;如果区域变长了,再重新打开 数据 → 数据验证 并调整 来源。对于手动输入的列表,直接编辑 来源 中的文本。勾选 对所有同样设置的其他所有单元格应用这些更改,可一次性更新所有匹配的下拉菜单。
把下拉菜单复制到更多单元格。 向下拖动填充柄,或者复制该单元格,选中目标区域,然后选择 开始 → 粘贴 → 选择性粘贴 → 验证,只复制下拉菜单而不带值。
删除下拉菜单。 选中单元格,转到 数据 → 数据验证,点击 全部清除,然后点击 确定。单元格中已有的值会保留。要找出所有带下拉菜单的单元格,请使用 开始 → 查找和选择 → 数据验证。
下拉菜单不起作用的原因
- 没有出现箭头。 打开 数据 → 数据验证 并勾选 提供下拉箭头。另外,只有选中单元格时才会显示箭头。如果所有地方的箭头都不见了,请检查 文件 → 选项 → 高级 → 此工作簿的显示选项,并将 对于对象,显示 设为 全部。
- 新选项没有显示。 来源是固定的区域。请扩展它,或者把列表转换为表格或溢出区域,让它自动增长。
- “数据验证”呈灰色。 工作表受到保护(审阅 → 撤消工作表保护)、工作簿使用了旧版共享工作簿功能、多个工作表被组合在一起(请点击单个工作表标签),或者你仍在编辑单元格(按 Enter 或 Esc)。
- 列表中出现空白项。 来源区域包含空单元格。请缩小区域或使用表格。
- 有人输入了不在列表中的值。 出错警告 的样式是 警告 或 信息,或者警告已被关闭。请把它切换为 停止。
常见问题
如何为整列添加下拉列表? 在打开“数据验证”之前,先选中所需的整列区域,例如 C2:C1000。如果你的数据位于表格中,应用于该列的下拉菜单会自动延续到新增的行。
Excel 下拉列表可以多选吗? 内置的“数据验证”不行。每个单元格只保存一个选择。要选择多个值,需要 VBA 宏或其他布局,例如每个选项一列。
下拉列表最多可以有多少个选项? 来自单元格的列表可以包含数千个选项,不过太长的列表很难滚动。手动输入的列表受“来源”框 255 个字符的限制。
如何制作“是/否”下拉菜单? 将 允许 设为 序列,并在 来源 中输入 是,否。
如何删除下拉菜单但保留值? 选中单元格,转到 数据 → 数据验证 → 全部清除,然后点击 确定。当前的值会作为纯文本保留。
保持列表数据干净
下拉菜单只有在背后的数据一致时才好用。CoreGPT for Excel 让你用日常语言描述整理需求,比如“删除重复的客户,并统一每个国家的不同写法”,并在你的工作簿内完成,这样你用来创建下拉菜单的列表就能保持整洁。可免费开始使用,支持网页版、Windows 和 Mac 版 Excel。
完成。我做了以下修改:
- 删除了 12 行重复数据
- 把“US”“DE”等改为全称
- 统一了电话号码格式
立即试用:CoreGPT for Excel
相关阅读:



