怎么利用Cell函数实现Excel动态图表的动态显示
脚本之家
所谓动态图表,就是可以根据用户的选择更新内容的图表。实现用户和图表交互的方式有很多,譬如辅助列、数据有效性的“序列”,以及“开发工具”选项卡中的控件等,今天给大家介绍利用Cell函数实现根据鼠标选择显示图表内容的方法。
Cell函数的主要功能是返回单元格的格式、位置或内容等信息,语法结构为Cell(info_type,[reference]),其中:
info_type:指定需要返回单元格信息的类型,该参数为文本,需要用双引号引起来;
[reference]:表示要获取信息的单元格,如省略,则返回最后更改的单元格的信息。
在下图,鼠标停留在数据表格的任意单元格,然后点击F9键更新数据,图表即显示相应行产品的柱形图,我们一起看看制作的步骤:
步骤1:制作数据表格。
步骤2:定义两个名称,点击“公式”选项卡,点击“定义名称”按钮,在“新建名称”对话框的名称处键入“图表标签”,在引用位置处键入公式“=OFFSET(Sheet1!$A$2,CELL("ROW")-2,)”,然后确定。
同样方法建立第二个名称,在对话框的名称处键入“图表数据”,在引用位置处键入公式“=OFFSET(Sheet1!$B$2:$G$2,CELL("row")-2,)”。
名称创建完成之后,打开“公式”选项卡下的“名称管理器”,可以看见里面有刚刚建立的两个名称。
在这个步骤中,用到了“名称”工具和Offset函数,它们是建立动态图表的两大利器。
所谓“名称”,实际就是一个简洁的表示方法,用以代表单元格或者区域的引用、常量以及公式等。要想实现图表的动态显示,则生成图表的数据源必须用公式动态生成,但在图表的选择数据源对话框中,无法直接键入公式,而用代表公式的名称给图表赋值即可使这个问题迎刃而解。
Offset函数的功能是根据给定的偏移量返回新的引用区域,其语法结构为Offset(reference,rows,cols,[height],[width]),其中:
- reference:表示作为参照物的引用区域;
- rows:表示上下偏移的行数,为空时表示不偏移,但分割参数的逗号需要保留;
- cols:表示左右偏移的列数,为空时表示不偏移,但分割参数的逗号需要保留;
- [height]:表示要返回的引用区域的行数,缺省时同参数reference;
- [width]:表示要返回的引用区域的列数,缺省时同参数reference。
所以“图表数据”名称的公式“=OFFSET(Sheet1!$B$2:$G$2,CELL("row")-2,)”和“图表标签”名称的公式“=OFFSET(Sheet1!$A$2,CELL("ROW")-2,)”会根据Cell函数读取的光标所在的行数动态返回引用区域。
步骤3:插入柱形图
步骤4:更改图表的数据源
右键点击图表,在弹出的快捷菜单中选择“选择数据”。
在“选择数据源”对话框中,点击右侧“水平轴标签”的“编辑”按钮,
选择单元格区域B1:G1作为轴标签。
返回“选择数据源”对话框,在左侧图例项的列表框中删除多余系列,只保留任意一个系列,然后点击“编辑”按钮,
在“编辑数据系列”对话框中,系列名称键入“=sheet1!图表标签”,系列值键入“=sheet1!图表数据”,即用名称赋值,注意名称前要有工作表名。
这样,动态图表就制作好了,然后根据自己的偏好对图表作一些美化即可。
最后说明一下,用Cell函数实现交互,需要在鼠标光标放置好之后,点击F9键,等于是给系统一个更新数据的指令,否则图表不会动态更新。你学会了吗?
以上就是利用Cell函数实现Excel动态图表的动态显示的技巧,希望大家喜欢,请继续关注脚本之家。
相关推荐: