在Excel中创建带计算的多折线图?
各位嘉宾: 我的帖子之前模棱两可,所以这里是第二次尝试 我有以下数据表: 以及我想制作的手绘示例:在Excel中创建带计算的多折线图?,excel,charts,pivot-table,excel-2013,Excel,Charts,Pivot Table,Excel 2013,各位嘉宾: 我的帖子之前模棱两可,所以这里是第二次尝试 我有以下数据表: 以及我想制作的手绘示例: 我想制作一个图表,显示所有代码(原始图表数据pic的左栏)的计算值,这些代码具有相同的前四位数字。我想为每个日期显示一个数据点,将“a”列下的所有值相加。对于“B”列,我也会这样做。“P”数据点是有问题的,因为它将使用以相同前四位数字开头的每个代码进行计算。我指的是原始图表数据图片中电子表格顶部每个日期下的“A”、“B”和“P” “p”是一个%值,对于给定的单个代码,它具有相应的“a”和
DataSheet
并镜像您的数据输入表
2)Sheet2被称为ChartData
,具有用于绘制图表和图表本身的转换数据集。这就是您实际希望数据集用于图表的方式。因此,如果您可以更改报告的格式,请始终尝试按照所示进行“平面文件”表格排列
以下是“之后”状态下的外观:
数据表表:
单元格B2
在数据表中
可以输入4位代码来绘制图表
请注意前导的“0”以在开头保留0
第4行中的公式:
A)F4对于p
:
=IFERROR(SUMPRODUCT(OFFSET($A$6,0,SUM(COLUMN(H1)-1),COUNTA(Codes),1),--(LEFT(Codes,4)=$B$2),OFFSET($A$6,0,SUM(COLUMN(F1)-1),COUNTA(Codes),1))/H4,"")
这适用于p计算
B)G4对于A
:
=SUMPRODUCT(OFFSET($A$6,0,SUM(COLUMN(G1)-1),COUNTA(Codes),1),--(LEFT(Codes,4)=$B$2))
对于给定的4位起始代码,计算G列的总和
C)H4用于B
:
=SUMPRODUCT(OFFSET($A$6,0,SUM(COLUMN(H1)-1),COUNTA(Codes),1),--(LEFT(Codes,4)=$B$2))
对于给定的4位起始代码,这将对H列求和
您可以复制粘贴这些3块,以设置未来范围的公式,即选择F4:H4并复制到I4:K4等,公式将适用于新范围。抱歉,我还没有调整这些,因此可以以某种方式拖动
向@Tom Sharpe和@shrivallabha.redij大声呼喊,以解决sumproduct之谜,这是解决方案的一部分
图表数据表:
A)B4中的公式:
=DataSheet!F2
这可确保开始日期设置为范围内的第一个日期
B)B5中的公式可向下拖动B列:
=IF(ROWS($B$4:$B5) <=INT(COLUMNS(dates)/3),$B$4+ROWS($B$5:$B5)*7,NA())
这将检索B列日期的p、A和B
值dataRange
是将源计算保存在数据表中的动态范围。如果打开名称管理器,选择dataRange
,然后将光标放在引用范围内,它引用的动态范围用“marching ants”表示:
如果图表数据
表中的日期列(B)为#N/A,则关联的p、A和B默认为#N/A,因此不会绘制
绘制图表:
图表本身是一个包含4个动态系列的组合图表
序列是以正常方式添加的,但是您引用了前面有Sheetname的动态序列代码>;如图所示。您可以使用pSeries、aSeries、b Series
和dateSeries
进行绘图
图表轴应设置为处理每周数据点
组合图设置:
注p绘制在辅助x轴上,并以百分比形式格式化
更新过程:
1) 在数据表中添加新行
2) 将三列的块复制到下一列。请注意,块的第一列有一个+7以增加周数
3) 转到图表数据,并向下拖动B:E列中的公式
4) 在数据表
单元格B2中选择您感兴趣的代码,所有内容都会更新
所需命名范围:
使用动态命名范围。Ctrl&F3将打开名称管理器,以便您可以添加这些名称
动态命名范围的公式:
代码
数据范围
=OFFSET(DataSheet!$F$4,0,0,1,COUNT(DataSheet!$F$2:$XFD$2))
日期
pSeries
=OFFSET(DataSheet!$P$11,0,0,COUNT(DataSheet!$B$11:$B$1048576),1)
阿瑟里斯
=OFFSET(ChartData!$D$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)
B系列
=OFFSET(ChartData!$E$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)
日期系列:
=OFFSET(ChartData!$B$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)
注意:对于早期版本的Excel,必须调整结束行和结束列
结束行1048576变为65536
结束列XFD变为IV
其他版本信息:
我甚至可以在这张图上嵌入一张手工绘制的图表。我有点困惑。例如,对于给定的日期,您有两个B列(我假设您指的是日期下的字母)。唯一能区别这些的显然是颜色(蓝色/黄色)和它们出现的顺序。您没有提及其中哪一个将用于计算P,也没有显示A的值,这将使我能够自己计算出来。请看。我认为这个问题需要先澄清
=OFFSET(ChartData!$D$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)
=OFFSET(ChartData!$E$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)
=OFFSET(ChartData!$B$4,0,0,COUNT(ChartData!$B$11:$B$1048576),1)