表格序号下拉全是1? Excel表格中动态下拉列表怎么制作

Excel表格中动态下拉列表怎么制作
通过设置数据验证 , 可以直接引用某个区域作为序列来源 , 完成下拉列表的效果 , 但是这样生成的下拉列表中的条目不能随数据源数量的增加或是减少而自动变化 。
利用OFFSET函数能够实现动态引用的特点 , 能够实现下拉列表的自动扩展 。
今天咱们以Excel2013版本为例 , 和大家一起学习动态下拉列表的制作 。
题目要求:A列是省份名称 , 要求在C2单元格使用数据验证创建动态下拉列表 。
首先完成自定义名称
单击C2单元格 , 按
=OFFSET($A$1 , 1 ,  , COUNTA($A:$A)-1)
依次单击【确定】和【关闭】按钮 , 完成自定义名称的设置 。
接下来设置数据有效性
单击C2单元格 , 在【数据】选项卡中依次单击【数据验证】 , 在弹出的【数据验证】对话框中单击【设置】选项卡 , 【允许】选择“序列” , 在【来源】编辑框中输入以下公式:
=省份
单击【确定】按钮 , 完成设置 。
此时单击C2单元格右侧的下拉箭头按钮 , 会出现效果如下图所示的下拉列表 。
咱们简单说说自定义名称公式的意思:
COUNTA($A:$A)用于计算A列不为空的单元格个数 。
【表格序号下拉全是1? Excel表格中动态下拉列表怎么制作】OFFSET函数以$A$1单元格为基点 , 向下偏移1行 , 向右偏移0列 , 新引用的行数为A列不为空的单元格个数减1(去掉列标题的计数) 。
公式根据A列的实际数据个数 , 确定OFFSET函数引用的行数 , 实现对A列数据区域的动态引用 。如果A列数据增加或减少 , COUNTA函数的结果就会发生变化 , 结果传递给OFFSET函数 , 新引用的行数会发生变化了 , 下拉列表中的内容也就自动进行调整 。
下图中 , 左侧的A列有9个省份 , C2的下拉列表中是9个条目 。
右侧的A列删除掉了部分数据 , 这时候C列的下拉列表中就自动减少了条目 。

    推荐阅读