Excel-用OFFSET和COUNTA实现动态增加下拉列表
2011-08-19 13:38
344 查看
命名区域时候单纯的框选区域 选中的区域中有空行时候 下拉列表有空白
再次编辑添加条目时容易出现格式混乱
Excel的下拉框大家一定都知道,是用数据有效性中的序列来完成的。但是他有个很明显的弊端,就是无法动态的去加入下拉列表中内容,一旦下拉列表内容需要做调整的时候,就需要一个个的重新在数据有效性中的序列中去增加,这是一个相当复杂和容易出错的工作。
如何实现这一需求?
先介绍两个Excel中很有用的两个函数:OFFSET和COUNTA。
OFFSET是用来返回一个引用,引用可以是单元格或者一个单元格区域的;而COUNTA是用来返回参数列表中非空值的单元格个数。
这里我想实现这么一个具体的功能:我的Excel有一列叫“PM”,并且我想随时在下拉列表里增加“PM人选(如图一)。见图一,目前PM这列有四个人选,我想动态增加一个PM人选“巨元”,如何做?
(图一)
步骤一:借助另外一个Sheet,用某一列来定义PM人选(如图二)
步骤二:Excel有一个叫名称管理器-定义名称,这个功能类似与我们开发语言中的全部变量,在这里我们定义一个变量名称:PM,并设置引用位置:=OFFSET(CONFIG!$C$2,1,0,COUNTA(CONFIG!$C$2:CONFIG!$C$256)-1,1);这个公式是核心,简单解释一下:
1)COUNTA(CONFIG!$C$2:CONFIG!$C$256)-1;返回值:4
2)OFFSET(CONFIG!$C$2,1,0,4,1);返回值:C3:C6的数组
步骤三:在图一中的PM这列使用数据有效性的序列,来源:=PM(就是名称管理器中定义的变量);
步骤四:现在我们可以在图二中PM这列中任意增加、删除、修改内容(增加“巨元”),都会立刻动态同步到图一中的PM下拉列表(显示包括“巨元”在内的五个PM人选的下拉列表)。
再次编辑添加条目时容易出现格式混乱
Excel的下拉框大家一定都知道,是用数据有效性中的序列来完成的。但是他有个很明显的弊端,就是无法动态的去加入下拉列表中内容,一旦下拉列表内容需要做调整的时候,就需要一个个的重新在数据有效性中的序列中去增加,这是一个相当复杂和容易出错的工作。
如何实现这一需求?
先介绍两个Excel中很有用的两个函数:OFFSET和COUNTA。
OFFSET是用来返回一个引用,引用可以是单元格或者一个单元格区域的;而COUNTA是用来返回参数列表中非空值的单元格个数。
这里我想实现这么一个具体的功能:我的Excel有一列叫“PM”,并且我想随时在下拉列表里增加“PM人选(如图一)。见图一,目前PM这列有四个人选,我想动态增加一个PM人选“巨元”,如何做?
(图一)
步骤一:借助另外一个Sheet,用某一列来定义PM人选(如图二)
步骤二:Excel有一个叫名称管理器-定义名称,这个功能类似与我们开发语言中的全部变量,在这里我们定义一个变量名称:PM,并设置引用位置:=OFFSET(CONFIG!$C$2,1,0,COUNTA(CONFIG!$C$2:CONFIG!$C$256)-1,1);这个公式是核心,简单解释一下:
1)COUNTA(CONFIG!$C$2:CONFIG!$C$256)-1;返回值:4
2)OFFSET(CONFIG!$C$2,1,0,4,1);返回值:C3:C6的数组
步骤三:在图一中的PM这列使用数据有效性的序列,来源:=PM(就是名称管理器中定义的变量);
步骤四:现在我们可以在图二中PM这列中任意增加、删除、修改内容(增加“巨元”),都会立刻动态同步到图一中的PM下拉列表(显示包括“巨元”在内的五个PM人选的下拉列表)。
相关文章推荐
- Excel-用OFFSET和COUNTA实现动态增加下拉列表
- Excel-用OFFSET和COUNTA实现动态增加下拉列表
- Excel-用OFFSET和COUNTA实现动态增加下拉列表
- jstl实现在jsp中动态添加下拉列表项
- jQuery实现动态加载select下拉列表项功能示例
- 在Excel中实现下拉列表选择录入
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- 用C#替换宏,实现动态创建Excel下拉框及批注
- Axure通过动态面板实现列表下拉自动刷新
- 多个下拉列表(select)不能取重复值判断-动态增加输入框-模仿CSDN结贴时分数判断-但无层提示-Ajax取值(全部源码)
- 用js+jsp实现在同一个下拉列表中,动态生成多级select选项
- jquery实现动态改变下拉列表
- 纯前端代码动态增加下拉列表
- 在Excel中实现下拉列表
- 多选下拉列表动态增加函数
- POI实现EXCEL下拉列表
- 用C#替换宏,实现动态创建Excel下拉框及批注
- asp+ajax能实现根据下拉列表值动态无刷新显示数据
- html+js+PHP(使用了smarty模板技术)+mysql实现二级动态下拉列表(select)
- ajax+jquery+flea+smarty实现了通过选择下拉列表动态显示相应的数据