如何在 Excel 中动态更改图表的系列?

如何在 Excel 中动态更改图表的系列?

我有大量图表,其基础数据每周更新一次。典型的系列如下所示:

Summary!B2:B7

每周我都会添加另一行数据并相应地更新系列:

Summary!B2:B8

问题是我每周必须手动更新数十个图表中的系列。如何让我的图表动态更新其系列值,也许通过引用我可以在一个地方更改的单个单元格或单元格?

答案1

在大多数情况下,您可以让系列指向比您有数据更大的单元格范围。没有数据的单元格将被忽略,并且不会包含在图表中。

因此,就您而言,您可以将系列定义为,Summary!B2:B100并在数据可用时逐步添加数据。

答案2

一种可靠的方法是使用动态命名范围。其理念是定义一个命名范围,随着数据的变化而扩大和缩小。如果您的数据是单独的,而不是在工作表中分散着许多小数据表,则最容易做到这一点。对于您来说,您可以创建一个命名范围,其名称Series1Refers To:公式如下:

=OFFSET(Summary!$B$2,0,0,COUNTA(Summary!$B:$B)-1)

这假设B1有一个标题或您想要忽略的内容,因此在-1之后COUNTA。此解决方案有几个麻烦之处:

  • 您必须为每个系列和轴创建不同的命名范围。您不能只引用整个表格。如果您尝试这样做,Excel 会将图表引用转换为硬编码范围,并且任何新数据都将被忽略。
  • 将图表指向命名范围时,您必须使用包括工作簿名称(或工作表名称,如果是工作表级命名范围)在内的全名。这意味着您不能只使用=Series1,而必须使用=Book1.xlsx!Series1

然而,它非常强大,所以即使你的数据超出了你最初想象的范围,它也能正常工作。


总之,对于短期使用或非常小的数据集,请使用 Mike 的答案。对于变得非常大的数据或如果您还需要动态轴标签,请使用命名范围。

相关内容