位置:首页 > 软件操作教程 > 办公软件 > Excel > 问题详情

动态下拉列表的制作方法

提问人:周丽平发布时间:2021-07-12

首先完成自定义名称

单击C2单元格,按<Ctrl+F3>组合键,在弹出的【名称管理器】对话框中单击【新建】按钮,弹出【新建名称】对话框。在【名称】编辑框中输入自定义名称“省份”,在【引用位置】编辑框中输入以下公式:

=OFFSET($A$1,1,,COUNTA($A:$A)-1)

依次单击【确定】和【关闭】按钮,完成自定义名称的设置。

image.png

接下来设置数据有效性

单击C2单元格,在【数据】选项卡中依次单击【数据验证】,在弹出的【数据验证】对话框中单击【设置】选项卡,【允许】选择“序列”,在【来源】编辑框中输入以下公式:

=省份

单击【确定】按钮,完成设置。

image.png

此时单击C2单元格右侧的下拉箭头按钮,会出现效果如下图所示的下拉列表。

image.png

咱们简单说说自定义名称公式的意思:

COUNTA($A:$A)用于计算A列不为空的单元格个数。

OFFSET函数以$A$1单元格为基点,向下偏移1行,向右偏移0列,新引用的行数为A列不为空的单元格个数减1(去掉列标题的计数)。

公式根据A列的实际数据个数,确定OFFSET函数引用的行数,实现对A列数据区域的动态引用。如果A列数据增加或减少,COUNTA函数的结果就会发生变化,结果传递给OFFSET函数,新引用的行数会发生变化了,下拉列表中的内容也就自动进行调整。

下图中,左侧的A列有9个省份,C2的下拉列表中是9个条目。

右侧的A列删除掉了部分数据,这时候C列的下拉列表中就自动减少了条目。

image.png

注意:使用此技巧要求A列的数据必须连续输入,数据之间不能有空白单元格,否则的话,COUNTA函数传递给OFFSET函数的就是一个不准确的行数信息,引用范围就会有偏差了。你也试试吧~

继续查找其他问题的答案?

回复(0)
返回顶部