我的excel图形来自另一个工作表中的表格,如上图所示。
该图的X轴在第3行中以蓝色显示月/年标头,但A&B列除外(.... 43.july17,44.aug17,...)。
Y轴显示Ave。排除了第57行中As和B列以外的内容
每个月我都需要在“ AY”和“ AZ”列之间插入一个新的“月/年”列。我还需要插入新的每月行数据,在这种情况下,请在第17个月的第14个月下插入Ave。订阅者人数行每月向下移动1行。
TOTALS列(AZ)下的数据不包括在图中。我目前使用图形公式:
=SERIES(,'Cohorts(32015)'!$C$3:$AX$3,'Cohorts(32015)'!$C$57:$AX$57,1)
但是,当我向表中添加新列时,它不会自动更新。有办法吗?
答案 0 :(得分:0)
是的:)。
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-第二个用于您的数据范围(Av。subs长度)。我称这个范围为“ 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
,我们在图表中选择了想要的第一列,在范围中选择了最后一列。删除列。在我们的案例中,“总计”将是我们的最后一列。但是我们不希望出现“总计”,因此我们将-1
放在我们的范围内。
对于列:
=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)