CoreGPT
Microsoft 365阅读约 15 分钟

Excel 下拉菜单怎么做?创建下拉列表并让它自动更新

用“数据验证”为任意 Excel 单元格添加下拉列表,可以基于手动输入的选项、单元格区域或表格创建,让列表自动扩展;还能创建二级联动下拉菜单,并修复下拉箭头不显示或列表不更新的问题。

Excel 下拉菜单怎么做?创建下拉列表并让它自动更新

要在 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 中几乎完全相同(差异见下文)。

  1. 在一列中输入列表选项,中间不要留空白单元格,例如在 F2:F5 中输入 未开始、进行中、已完成 和 受阻。专门建一个名为“Lists”的工作表来存放它们效果很好。
  2. 选中要出现下拉菜单的单元格,例如 C2:C50。
  3. 转到 数据 → 数据验证(位于“数据工具”组中)。在 Windows 上,键盘快捷键是 Alt, A, V, V(适用于英文版 Excel)。
  4. 在 设置 选项卡上,将 允许 设为 序列。
  5. 单击 来源 框,然后在工作表上选中你的选项(F2:F5,不含标题)。Excel 会填入 =$F$2:$F$5。
  6. 确保已勾选 提供下拉箭头(In-cell dropdown)。如果允许空单元格,请保持勾选 忽略空值。
  7. 点击 确定。

Excel“数据验证”对话框的“设置”选项卡,“允许”为“序列”,“来源”为 =$F$2:$F$5,“忽略空值”和“提供下拉箭头”均已勾选

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

Excel 任务跟踪表,包含“任务”“负责人”和“状态”列,C5 单元格中的“状态”下拉菜单已展开,显示“未开始”“进行中”“已完成”和“受阻”

直接输入选项,而不是选择单元格

对于简短、固定的列表,可以直接在 来源 中输入:是,否,待定。逗号后面不要加空格,否则空格会成为每个选项的一部分。如果你的区域设置使用逗号作为小数点,Excel 可能要求使用分号(是;否;待定)。“来源”框最多容纳 255 个字符,所以较长的列表应该放在工作表上。

Mac 版和网页版 Excel

  • Mac: 数据 → 数据验证(在某些版本中,“工具”组里的按钮名为 验证)。对话框有同样的三个选项卡。
  • 网页版: 数据 → 数据验证(窗口较窄时位于 数据工具 下),之后的 允许 → 序列 步骤相同。
  • 移动端: iPhone、iPad 和 Android 应用可以让你从在电脑上创建的下拉菜单中选择。

用表格让列表自动扩展

像 $F$2:$F$5 这样的普通区域不会包含你在 F6 中输入的新选项。把列表变成表格就可以做到:

  1. 单击列表中的一个单元格并按 Ctrl+T(Mac 上为 Cmd+T)。勾选 表包含标题,然后点击 确定。
  2. 按上文所述创建下拉菜单,在 来源 中选中表格的数据单元格(不含标题)。
  3. 在表格正下方的行中输入新选项。表格会自动扩展,所有基于它的下拉菜单都会显示新选项。

你不能直接在 来源 中输入像 =Table1[Status] 这样的表格引用,Excel 会拒绝。请改为选中单元格,或者使用 =INDIRECT("Table1[Status]")。

命名区域 也同样适用:选中这些选项,在 名称框(公式栏左侧)中输入一个名称,例如 Statuses,按 Enter,然后使用 =Statuses 作为来源。

用 UNIQUE 从现有数据生成动态列表

如果选项应该来自你已有的数据,例如 A 列中的所有客户名称,可以让公式来生成列表。在 Excel for Microsoft 365、Excel 2021 或更高版本,或网页版 Excel 中:

  1. 在一个空单元格(比如 H2)中输入 =SORT(UNIQUE(FILTER(A2:A500,A2:A500<>"")))。排好序且无重复的列表会从 H2 向下溢出(FILTER 部分用于排除空单元格,否则它们会显示为 0)。
  2. 创建下拉菜单,并将 来源 设为 =$H$2#。

# 告诉 Excel 使用整个溢出区域,无论它变得多长,所以新的名称会自动出现在下拉菜单中。你无法把 UNIQUE 本身直接放进“来源”框,这就是需要辅助单元格的原因。关于 UNIQUE 的更多内容,请参阅 Excel 删除重复项的 5 种方法(删除数据与不删除数据都有)。

公式按英文版 Excel 中的写法显示;中文版 Excel 的函数名称相同,参数之间同样使用逗号分隔。

使用另一个工作表上的列表

在 来源 框处于活动状态时,点击另一个工作表的标签并选中单元格;Excel 会写入类似 =Lists!$A$2:$A$10 的内容。之后你可以隐藏 Lists 工作表(右键单击其标签 → 隐藏),避免别人不小心编辑它。位于其他工作簿中的来源只有在该工作簿打开时才有效,所以请把列表放在同一个文件中。

用 INDIRECT 创建联动(级联)下拉菜单

联动下拉菜单会根据另一个单元格的内容改变选项:在 A 列选择 Fruit(水果),B 列就只提供水果。

  1. 在 Lists 工作表上,把每个类别放在标题中,选项排在下面。例如 D1 中是 Fruit,下面是 Apple、Banana、Cherry;E1 中是 Vegetables(蔬菜),下面是 Carrot、Leek、Pea。
  2. 选中 D1:E4,转到 公式 → 根据所选内容创建。只勾选 首行,然后点击 确定。Excel 会为每一列创建一个以标题命名的命名区域。
  3. 在主工作表的 A2 中创建一个普通下拉菜单,其来源是两个标题单元格 =Lists!$D$1:$E$1(类别名称)。
  4. 选中 B2,打开 数据 → 数据验证,选择 序列,并输入 =INDIRECT($A2) 作为来源。
  5. 如果 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。

立即试用:CoreGPT for Excel

相关阅读:

继续阅读

Microsoft 365

Word 怎么删除一页?含删不掉的空白页处理方法

用“定位”中的 \page 快捷方式、编辑标记,以及针对表格、分节符和分页符后面那张顽固空白页的几种办法,删除 Word 中任意一页,无论有无内容。适用于 Windows、Mac 和网页版 Word。

阅读更多