Excel-用OFFSET和COUNTA实现动态增加下拉列表

来源:互联网 发布:如何查询淘宝小号标签 编辑:程序博客网 时间:2024/05/21 22:47

使用的函数

OFFSET(reference, rows,cols,[height], [width])   OFFSET是用来返回一个引用,引用可以是单元格或者一个单元格区域的

referrence,rows,cols 确定了引用区域的参考单元格及引用返回区域相对于参考单元格的行列偏移量,即返回引用区域的起点

[height],[width] 确定了返回的引用区域的行宽和列宽,即返回引用区域的范围是多宽多长

COUNTA(value1,[value2],...)   COUNTA是用来返回参数列表中非空值的单元格个数

功能需求

Excel 中有一列叫"姓名",需要在其下拉列表中随时添加新的选项, 动态的实现下拉列表的选项方法

步骤

步骤一:在另一个sheet中建列"姓名" 将所有姓名的下拉选项列在其中

步骤二:定义一个动态的区域 name a range, 引用的区域为函数OFFSET(reference, rows,cols,COUNTA(value1), [width])

步骤三:引用动态的区域作为数据有效性的引用区域,数据有效应的引用为name 的range

 

例如=OFFSET(Ref!$B$1,2,1,COUNTA(Ref!$B$2:$B$256),2)

引用区域参考起点为Ref sheet的B1单元格,行偏移2列偏移1,即引用区域的起点为B1单元格下两行右一列即C3单元格

counta 计算的为Refsheet中B2:B256 列中不为零的单元格个数

[width]=2, 返回区域的列宽为2,即返回的引用区域包含了C列和D列