是的:)。
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)