▲更多精彩内容,请点击上方Excel小铲子▲
操作系统版本
Windows 10 64位
Excel版本
Microsoft Excel 2016 64位
问题
Excel怎么实现相互控制的多个下拉列表?
就比如ABCD四个下拉列表,如果D下拉列表选择为空,则ABC下拉列表可以单独调整。如果D下拉列表选择了某一项,则ABC下拉列表也只能选相同选项。
解决思路
首先要说明的是大多数人眼中的Excel单元格下拉列表,其实是单元格应用数据验证(以前也叫数据有效性)后的一种外在表现。
数据验证(以前也叫数据有效性)是 Excel 为了提高录入内容规范性的功能,在充分掌握了数据验证(以前也叫数据有效性)的使用方法后,你就能将这个所谓的下拉列表玩出更多的花样,比如做出多级联动的下拉菜单、用户输入不允许内容时弹出警告或提示窗口、单元格被选中后自动打开输入法、在用户输入内容前弹出提示窗口等等。
要实现问题中的相互控制,只要对序列来源进行一个小小的变化,通过公式来实现当D下拉列表选择了某一项,则ABC下拉列表序列来源自动调整为与D下拉列表相同即可。
但由于数据验证(以前也叫数据有效性)的验证过程在数据发生变化时,所以如果在D下拉列表选择前已经完成了ABC下拉列表内容的选择将无法实现对ABC下拉列表的控制。如果需要实现对ABC下拉列表内容的实时控制,则需要使用VBA进行辅助。
因此建议如果不打算使用VBA辅助,就将D下拉列表作为优先选择项目,对ABC下来菜单中的内容进行控制,以免出现异常。
解决过程中涉及的函数简要说明如下,如已掌握相关知识可跳过本部分直接阅读解决步骤部分内容:
IF 函数是 Excel 中最常用的函数之一,它可以对值和期待值进行逻辑比较。因此 IF 语句可能有两个结果。 第一个结果是比较结果为 True,第二个结果是比较结果为 False。例如,=IF(C2=”Yes”,1,2) 表示 IF(C2 = Yes, 则返回 1, 否则返回 2)。
模拟数据
解决步骤
增加3个辅助列,并在第一行输入公式后复制到下方。
接下来就是常规的设置数据验证(以前也叫数据有效性),选中单元格,单击【数据】选项卡→【数据验证】菜单→【数据验证】选项,以D下拉菜单举例。
在【数据验证】窗口→【设置】选项卡中完成相关设置后,单击【确定】按钮。
ABC下拉菜单的【来源】应该是A1、B1、C1列。
使用VBA来进行辅助,则首先应该将文档另存为【Excel 启用宏的工作簿】格式。然后单击【开发工具】选项卡→【Visual Basic】选项。
在VBE环境下,选中工作簿、事件后输入代码,基本就能实现所需功能了。
▼▼▼转发到朋友圈是最高的赞赏▼▼▼
▼更多精彩内容,请点击下方阅读原文▼