在数据中添加新列和行时 Excel 会自动更新图表
Posted
技术标签:
【中文标题】在数据中添加新列和行时 Excel 会自动更新图表【英文标题】:Excel automatically update graph when adding new columns and rows in data 【发布时间】:2019-01-27 03:40:58 【问题描述】:我的 excel 图表来自另一个工作表中的表格,如上图所示。
图表的 X 轴在除 A&B 列之外的第 3 行中以蓝色显示月/年标题(... 43.july17, 44.aug17, ...)。
Y 轴显示第 57 行中的 Ave. subs 长度,A&B 列除外。
每个月我都需要插入一个新的月/年列,在这种情况下,在列 AY 和 AZ 之间。我还需要插入新的每月行数据,在这种情况下,在第 17 行的第 14 个月下,以便 Ave. Subs 长度行每月向下移动 1 行。
TOTALS 列 (AZ) 下的数据不包含在图表中。我目前使用图形公式:
=SERIES(,'Cohorts(32015)'!$C$3:$AX$3,'Cohorts(32015)'!$C$57:$AX$57,1)
但是,当我向表中添加新列时,它不会自动更新。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:是的:)。
Excel 中有一个名为“名称管理器”的功能。在那里您可以定义范围(命名一个范围或一个/多个单元格),从而在您插入或删除列或行时使范围动态化。
指南:
转到“公式”->“定义名称”->“新建..”
我创建了两个范围(注意我使用 绝对引用 和 $)。
1 - 第一个用于轴值(43.july17、44.aug17 等)。我称之为“Month_Name
”。请注意,根据您的示例,您需要从 $C$3
执行此操作。
=OFFSET(Sheet1!$AS$3,0,0,1,COUNTA(Sheet1!$AS$3:$AZ$3)-1)
2- 第二个用于您的数据范围(平均子长度)。我称范围为:“Ave_Sub
”。
=OFFSET(Sheet1!$AS$57,0,0,1,COUNTA(Sheet1!$AS$57:$AZ$57)-1)
单击您的系列(在您的图表/图表中)并将您的系列名称更改为工作表名称 + 命名范围,即在我的情况下工作表名称为“Sheet1”:
=SERIES(;Sheet1!Month_Name;Sheet1!Ave_Sub;1)
现在添加行或列时,图表会自动展开(我添加了 1 行和 1 列)。
公式详情:
那么它是如何工作的呢?
公式的语法是:
=OFFSET(reference, rows, cols, [height], [width])
在我们的例子中
=OFFSET(Sheet1!$AS$3,0,0,1,COUNTA(Sheet1!$AS$3:$AZ$3)-1)
地点:
reference
:是我们的起始栏,$AS$3
。
rows
和cols
:我们不想偏移任何列或行。因此:0,0。
[height]
: = 1 因为我们只有一行。
[width]
= COUNTA(Sheet1!$AS$3:$AZ$3)-1
,我们取图表中想要的第一列和我们可能想要添加或删除的范围中的最后一列 > 一栏。在我们的例子中,“总计”将是我们的最后一列。但我们不希望出现“Total”,因此我们将-1
纳入我们的范围。
Generic formulas to expand ranges:
对于列:
=OFFSET(<sheet name="">!<start cell="">,0,0,1,COUNTA(<sheet name="">!<column name="">:<column name="">) - 1)
对于行:
=OFFSET(<Sheet name>!<start cell>,0,0,COUNTA(<Sheet name>!<Column name>:<Column name>) - 1)
【讨论】:
以上是关于在数据中添加新列和行时 Excel 会自动更新图表的主要内容,如果未能解决你的问题,请参考以下文章