我有大量图表,其基础数据每周更新一次。典型的系列如下所示:
Summary!B2:B7
每周我都会添加另一行数据并相应地更新系列:
Summary!B2:B8
问题是我每周必须手动更新数十个图表中的系列。如何让我的图表动态更新其系列值,也许通过引用我可以在一个地方更改的单个单元格或单元格?
答案1
在大多数情况下,您可以让系列指向比您有数据更大的单元格范围。没有数据的单元格将被忽略,并且不会包含在图表中。
因此,就您而言,您可以将系列定义为,Summary!B2:B100
并在数据可用时逐步添加数据。
答案2
一种可靠的方法是使用动态命名范围。其理念是定义一个命名范围,随着数据的变化而扩大和缩小。如果您的数据是单独的,而不是在工作表中分散着许多小数据表,则最容易做到这一点。对于您来说,您可以创建一个命名范围,其名称Series1
和Refers To:
公式如下:
=OFFSET(Summary!$B$2,0,0,COUNTA(Summary!$B:$B)-1)
这假设B1
有一个标题或您想要忽略的内容,因此在-1
之后COUNTA
。此解决方案有几个麻烦之处:
- 您必须为每个系列和轴创建不同的命名范围。您不能只引用整个表格。如果您尝试这样做,Excel 会将图表引用转换为硬编码范围,并且任何新数据都将被忽略。
- 将图表指向命名范围时,您必须使用包括工作簿名称(或工作表名称,如果是工作表级命名范围)在内的全名。这意味着您不能只使用
=Series1
,而必须使用=Book1.xlsx!Series1
。
然而,它非常强大,所以即使你的数据超出了你最初想象的范围,它也能正常工作。
总之,对于短期使用或非常小的数据集,请使用 Mike 的答案。对于变得非常大的数据或如果您还需要动态轴标签,请使用命名范围。