在 Excel 中使用指定的区域创建动态图表

来源:百度文库 编辑:神马文学网 时间:2024/04/28 08:32:56
 在 Excel 中使用指定的区域创建动态图表                                         适用于: Microsoft Office Excel 2003  

 


本文摘自《Microsoft Office Excel 2003 Inside Out》(Craig Stinson 与 Mark Dodge 合著)。 请访问 Microsoft 学习工具 购买此书。

如果您选择一个图表系列并查看 Excel 的公式行,则会看到系列是由使用 SERIES 函数的公式生成的。SERIES 是一种用于定义图表系列的特殊函数,它只能在此类环境中使用。您不能将它用于工作表,也不能在它的参数中包含工作表的函数或公式。

关于 SERIES 函数的参数

在除气泡图以外的所有图表类型中,SERIES 函数都具有下表中列出的参数。在气泡图中,SERIES 函数还要用一个额外的参数来指定气泡的大小。

参数 必选/可选 指定 名称 可选 显示在图例中的名称 分类标志 可选 显示在分类轴上的标志(如果忽略,Excel 将使用连续的整数作为标志) 值 必选 Excel 所绘制的值 顺序 必选 系列的绘制顺序

SERIES 函数的上述每个参数分别对应于“源数据”对话框的“系列”选项卡(“图表”菜单,“源数据”命令)上输入的特定数据。下图阐述了这些关系。

公式栏上显示以下公式:

=SERIES(Sheet1!$B$1,Sheet1!$A$2:$A$1624,Sheet1!$B$2:$B$1624,1)

该公式中的参数与“源数据”对话框中各项的关系如下所示:

  • 名称参数   参数 Sheet1!$B$1 显示在“名称”框中。由于 Sheet1!$B$1 包含“价格”标志,因此该系列在“系列”框中以“价格”作为标识。
  • 分类标志参数   参数 Sheet1!$A$2:$A$1624 显示在“分类(X)轴标志”框中。
  • 值参数   参数 Sheet1!$B$2:$B$1624 显示在“值”框中。
  • 顺序参数   由于此图表只有一个系列,因此顺序参数为 1。这种默认的绘制顺序由“价格”系列在“系列”列表框中的位置反映。

这个函数有什么用呢?

SERIES 公式的重要之处在于:有可能在某些 SERIES 参数中使用区域名称,有时这会带来很大的便利。通过使用区域名称,您可以更轻松地将某个图表从绘制一组数据切换为绘制另一组完全不同的数据。更重要的是,通过创建动态区域名称并将它用作 SERIES 参数,您还可以创建动态图表。既然图表的变化可以反映出其源数据的变化,从这种意义上说,所有的图表都是动态的。但是,如果使用动态区域名称,您还可以令图表在工作表新增数据时自动绘制出新的数据,或者自动绘制工作表数据的子集 — 例如,最新输入的 30 个点。

您可能已经知道,Excel 中的所有名称都是公式名称而不是区域名称。公式通常解析为区域引用。例如,如果选择 Sheet1 上的 A1:A10,并使用“定义”命令(“插入”菜单,“名称”命令)为区域选择创建名称,Excel 会将该名称定义为:

=Sheet1!$A$1:$A$10

如果将某些函数添加到定义名称的公式中,该名称就可以根据工作表的情况而引用不同的工作表区域。

自动绘制新数据

上图显示的图表将 Sheet1!$A$2:$A$1624 绘制为分类轴标志,将 Sheet1!$B$2:$B$1624 绘制为“价格”系列的值。要使该图表自动包含在 A 列和 B 列中新增的数据点, 应在 Sheet1 上创建以下名称:

名称 定义 日期 =OFFSET(Sheet1!$A$1,1,0,COUNTA($A:$A)-1) 价格 =OFFSET(Sheet1!$B$1,1,0,COUNTA($B:$B)-1)

这些公式的实际意义是:“指定一个区域,该区域从 A1(或 B1)的下一行开始,其行数比 A 列(或 B 列)中的已填充单元格数少 1”。随着 A 列和 B 列中已填充单元格数的增多,该公式会自动解析为更大的区域。只有当新数据出现在已有单元格紧下方的单元格中时,区域中才会包含该数据。当然,为使该功能可以提供预期的结果,A 列和 B 列的其余部分必须为空。

定义了这些动态名称后,可以用下面两种方法中的一种,将它们应用于图表的 SERIES 公式:

  • 使用公式栏的方法   只需选择要修改的图表系列,然后在公式栏上编辑 SERIES 公式即可。
  • 使用对话框的方法   选择图表,然后单击“图表”菜单上的“源数据”。在“系列”选项卡上,编辑相应的数据项。

 注释   为应用名称而设计的菜单命令(“插入”菜单,“名称”命令,“应用”命令)不能用来应用此类名称;该命令在这种情况下是无效的。

使用对话框的方法可能更简单一些,因为您可以清楚地看到所做的更改,但无论您选择哪一种方法,某一处的更改都会在另一处反映出来,而且您必须将工作表引用保留在原来的位置上。例如,如果“值”框包含 =Sheet1!$B$2:$B:1624,应保留 Sheet1! 部分不动,仅将绝对区域地址替换为新的区域名称。如果该名称在您的工作簿中是唯一的,Excel 最终会将它显示为工作簿级别的名称,如下图所示。

只绘制最新的数据点

如果希望在价格图表示例中只绘制最新的 30 个点,可以按如下所示修改名称:

名称 定义 日期 =OFFSET(Sheet1!$A$1,COUNTA($A:$A)-30,0,30 价格 =OFFSET(Sheet1!$B$1,COUNTA($B:$B)-30,0,30)

这些公式指示 Excel 从距填充区域结尾 30 行处开始,创建一个包含 30 行 1 列的区域。

 注释   如果删除了应用于某图表系列的名称,该系列将不再有效。Excel 无法还原与已删除名称等效的区域引用。