还记得我们设置某个区域数据校验时,采用序列(下拉选择)模式吗?您可能会问,如果下拉选项可能是动态的,应该如何处理呢?别急,我们马上开始学习吧,大概有3种方法。
1.整列(行)引用
序列源设置为整列(或整行),在【游吧主】Excel 数据验证之验证条件及小技巧的第4点中有个演示可以实现动态扩展下拉。
基本原理:使用一列存储选项值,并将其设置为序列数据源。但有两点可以优化:
当其它有值列最大行大于该行时,下拉会出现空白选项;如河北省市中有空白选项;
如有标题行,下拉选项里面也会有,如选项中有广东省、河北省;没有标题行,这一列数据是什么意思未来维护可能不方便;
您可能会想:如果将这些选项独立到一个sheet,然后sheet名称命名为标题,是否就可以解决了?的确这样可以解决,但当有很多选项时,让用户在一个界面设置维护,是不是会更好呢?
2. 动态区域(重点)
将序列源设置为动态区域,先回顾一下理论内容;【游吧主】Excel 之静态区域&动态区域。
比如D2:D22区域可以通过两种方式来动态实现,都使用到了函数(【游吧主】Excel 统计函数之CountA统计不为空数量必备),觉得不直观可以定义一个名称:
=OFFSET(D2,0,0,COUNTA(D:D)-1,1)
函数介绍参见:【游吧主】Excel 查找和引用函数之Offset偏移
=INDIRECT("D2:D"&COUNTA(D:D))
3. 表中表动态
这种只适用在单列情况,当有多列时,如最大行数值不一样,仍然会出现多个空白选项,优点是不需要使用函数。
4. 总结
3种方法,动态区域是扩展性最好的一个,但里面使用的函数较多,当选项少时,1、3也不失为一个好的方法。
更多的应用期待您去挖掘。
领取专属 10元无门槛券
私享最新 技术干货