OFFSET函数可能很多用户比较陌生,但它在Excel中承担的作用却非常强大,本实例将通过OFFSET函数实现Excel图表的动态显示。
在Excel图表中,如果修改数据表中的数据值,相对应的图表也会立即刷新。但是,如果在数据表中增加一行数据或减少一行数据,相对应的图表就不能随着数据行的多少自动缩放了。但现在由于填充在工作表中的数据行不确定(如图7所示),如何实现图表数据系列的动态添加和减少呢?
图7 需要动态改变的图表
在本例中最关键的是定义命名公式,这个名称将最终用作图表系列中SERIES公式中的变量,操作步骤如下:
(1)执行菜单栏中的【插入】|【名称】|【定义】命令,打开“定义名称”对话框。
(2)在“在当前工作簿中的名称”文本框中,输入Date,在“引用位置”文本框中输入下面的公式:=OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1),如图8所示。
图8 定义工作簿名称
OFFSET函数引用第一个数据点(A2单元格),并且利用COUNTA函数确定该列中的单元格个数。由于列A的第一行为标题,所以要从计数结果中减去1。
(3)单击【添加】按钮创建名为Date的名称。
(4)在“在当前工作簿中的名称”文本框中,输入Sales,在“引用位置”文本框中输入下面的公式:=OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1,1)。单击【添加】按钮创建名为Sales的名称。
(5)单击【关闭】按钮,关闭“定义名称”对话框。
下面,我们就开始利用原始数据系列创建图表,操作步骤如下:
(1)选择工作表数据中的包含了数据的A列和B列单元格区域,然后执行菜单栏中的【插入】|【图表】命令,打开“图表向导”对话框。选择图表类型为“柱