21.Excel经典动态图表实现原理
知识点
一、动态图表实现原理
1.理解图表中的数据系列
自动创建折线图/柱状图时,需要多选几列数据,然后选择折线图/柱状图选项卡
2.手工修改系列中的数值与坐标轴数据
手动创建折线图/柱状图时,需要一列一列选择数据
3.小试牛刀-利用if创建简单的动图表
3.1 插入-表单控件
自由度小,但简单
插入-复选框,点击表格插入,右键可以移动复选框/编辑文字/设置控件格式,修改文字为彩盒,左键是选择
3.1.1 复选框关联图表操作
彩盒关联Excel表
右击复选框-设置控件格式-单元格链接-点击对应的复选框前的空单元格G2
宠物用品关联Excel表
右击复选框-设置控件格式-单元格链接-点击对应的复选框前的空单元格G4
点击空单元格,写以下数据
=if($G$2,$B$2:$B$13,$F$2:$F$13)
如果G2是TRUE,就引用B2:B13,否则选空列F2:F13。
复制公式编辑框里的公式,按ESC键,选择空单元格,点击公式选项卡-定义名称,修改名称为复选框的名称/彩盒,引用位置:粘贴刚刚复制的公式。
点击空单元格-插入折线图-右击选择数据/源-添加系列名称:彩盒,系列值=sheet1(表格名称)!彩盒-确定
另一个
选择空单元格,点击公式选项卡-定义名称,修改名称宠物用品,引用位置公式,=if($G$4,$C$2:$C$13,$F$2:$F$13),确定
点击已创建的折线图,右击选择数据/源-添加系列名称:彩宠物用品,系列值=sheet1(表格名称)!宠物用品-确定
将复选框前的文字删除,放在折线图的图例前,并将折线图置于底层。
3.2 插入-ActiveX控件
适用于VBA或者代码,比较复杂,可调整自由度大
二、利用offset函数与控件创建动态图表
1.offset函数概述
用于动态取值
2.offset函数的动态引用示例
例子:原始数据更新,如何更新数据透视表的数据
用offset定义动态区域给透视表用
=offset($A$1,0,0,counta($A$A),11)
以A1单元格为基准,下移零行,右零列,取A列中的非空数据行,11列
选择一个数据单元格,点击公式选项卡-定义名称,修改名称数据区域,引用位置公式,=offset($A$1,0,0,counta($A$A),11),确定
插入数据透视表-表/区域:数据区域-新工作表-确定
3.动态图表1 永远返回最后10行数据
=offset($A$1,counta($A$A)—10,0,10,1)
解释,取A列的最后10行数据
选择一个空单元格,点击公式选项卡-定义名称,修改名称成交量,引用位置公式,=offset($A$1,counta($A$A)—10,0,10,1),确定
点击空单元格-折线图-右击选择数据-添加系列名称:成交量,系列值=sheet1(表格名称)!成交量-确定
4.动态图表2 通过控件控制图表数据
开发工具-插入-滚动条1,在表格中插入
复制滚动条1,插入另一个滚动条2
关联Excel表
右击滚动条-设置控件格式-最小值1
单元格链接$D$2-确定
右击滚动条-设置控件格式-最小值1
单元格链接$D$4-确定
D4是用来控制数柱状图中显示数据多与少的
写offset公式,定义动态区域
=offset($A$1,$D$2,0,$D$4,1)
下移滚动条1的行数,右移0列,取滚动条2的行数,1列
定义坐标轴名称
选择一个空单元格,点击公式选项卡-定义名称,修改名称成交量,引用位置公式,=offset($A$1,$D$2,0,$D$4,1)确定
插入柱状图
点击空单元格-柱状图-右击选择数据-添加系列名称:成交量,系列值=sheet1(表格名称)!成交量-确定
另一个变量参数
=offset($B$1,$D$2,0,$D$4,1)
选择一个空单元格,点击公式选项卡-定义名称,修改名称日期,引用位置公式,=offset($B$1,$D$2,0,$D$4,1)确定
选择柱状图,水平分类轴标签-编辑,sheet1(表格名称)!日期-确定