【问题标题】:Make rows and columns dynamic so when adding a new row or column the chart automatically updates?使行和列动态化,以便在添加新行或列时图表自动更新?
【发布时间】:2016-02-23 21:22:00
【问题描述】:

在 MS Excel 中,如果我们要制作图表,则必须选择数据范围。

有没有什么方法可以在添加新条目(行或列)时图表自动更新?

【问题讨论】:

  • 我有一个图表可以做到这一点(至少对于行),数据源是Table。我不添加列,因此无法报告任何相关内容。

标签: excel


【解决方案1】:

我发现这对于 Excel 2010 中的堆积条形图具有挑战性。让我们以带有一些数字的简单表格为例:

            2016    2017
    Sam        3       4
    Fred       5       6
    Alice      3       4

选择表格,右键单击其选项卡,然后选择插入图表。选择堆叠条。然后,选择切换行/列。现在,如果你去设计 |选择数据,您会看到图表数据范围的一个不错的公式。但是,如果您插入一行并添加其他人,则会得到一个不连续的范围,并且它们不会包含在图表中。但是,如果您首先选择数据,请选择插入 |表,并告诉它有标题,然后您可以插入一行,并将其自动包含在图表中,例如来自额外销售人员的销售。

只有当两件事发生时才会发生这种情况:

  1. 它必须是一个表格,并且
  2. 它必须是源数据的连续表格范围。没有跳过列。也许它可能适用于表的子集。

如果其中一个不正确,它就会破坏它。我会批评它不考虑插入行的方式,或者它抱怨图表数据范围太复杂的方式,甚至没有显示图表数据的文本让你编辑它,如果列已经出来了秩序(好吧,我在抱怨),但是例如Libre Office calc 可让您编辑复杂的公式,它从不跟踪插入的行以添加更多数据系列。

如果您对图表或命名区域使用动态公式,它只会将它们转换为单元格区域引用,并且无法考虑插入的行。

【讨论】:

    【解决方案2】:

    为标签和每个系列创建动态命名范围,并编辑图表数据以使用这些名称。

    命名范围的一个示例是标签可能位于 A 列中,而某些值位于 B 列中

    =$B$2:INDEX($B:$B,COUNTA($A:$A))
    

    它定义了一个范围,从 B2 开始,到 B 列中与标签 A 列中的最后一个数据行相对应的行结束。

    为每个系列添加一个命名范围。

    当将图表指向这些名称时,请务必在其前面加上工作表名称,即使您在该工作表上,例如

    =Sheet1!2010Amounts
    

    【讨论】:

    • 嗨@Bob Philips ...您能否提供一些模板,其中有两张表格,第一张表格中有图表,第二张表格中有数据,这样当我更新数据时图表会自动更新。非常感谢
    • 我已经有了动态命名范围,如果添加了任何行,它会自动更新,但我也想要一些简单的解决方案,这样我就可以摆脱为每列指定命名范围。
    • 我不认为你可以。如果您查看“选择数据源”对话框,您会看到每个系列都是单独定义的,因此您需要为每个 AFAICS 命名。
    • 对于不同的工作表,确保名称中的所有范围都引用数据表而不是活动工作表,并在图表中使用工作簿名称引用 ='myworkbook.xlsx'!myrangename跨度>
    • 再次尝试投票:不让我。试图使编辑成为评论:不会让我。否决票拿走了声誉点???
    猜你喜欢
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    • 2014-12-20
    • 1970-01-01
    • 2022-09-30
    相关资源
    最近更新 更多