我用我的收入和现金支付做了一张桌子。我列出了帐户余额。 现在我想在折线图中绘制帐户余额。但问题在于每天都没有价值。因此条目之间的界限是不同的,因为两个条目之间的时间不同。有时三天,有时候22天,......
我怎么才能意识到,在一个值之后这条线是恒定的,而一条线只在一天变化,并带有一个新值?
编辑(来自评论):我正在使用Excel 2007
答案 0 :(得分:3)
与其他人所说的一样,为了显示要显示的点之间的真实时差,您必须使用散点图而不是Excel折线图。
要在中间日期显示余额的真实状态(即没有斜线),您需要对数据进行一些转换。这相当于创建了两个新的数据列,每个余额都有重复点:一个在帐户余额达到该级别的日期,另一个在余额离开该级别的日期。
我建议如下: 要填充您的Balance列,请在第一个单元格中(我在E2处开始我的表格)输入
=B2
其中B2
是原始表格中第一个余额的地址。在下一个单元格中输入
=IF(E2<>E1,E2,OFFSET(B$2,COUNT(E$2:E2)/2,0))
根据需要填写此公式。
然后在新表的Date列的第一个单元格中(我从D2开始)输入
=A2
其中A2
是原始表格中的第一个日期。在下一个单元格中输入
=IF(E3=E2,OFFSET(A$2,COUNT(E$2:E3)/2,0),D2)
填写此公式。然后使用此新表作为散点图的源数据。这是一个样本的屏幕截图:
答案 1 :(得分:1)
您使用的是XY散点图吗?折线图会自动添加缺失的天数。确保您的x轴格式化为日期。
如果你坚持使用XY-Scatter Plot,那么你可以每天投入几天,如果那天没有数据,那么放入=NA()
的y轴。
答案 2 :(得分:1)
我认为您需要的图表是基于您的描述的步骤线图。上面@Excelll的答案已经指出了在Excel中执行此操作的方法。但在这里,我还有另一个解决方案可以避免手动为数据添加一些行。您可以使用Funfun Excel加载项来创建步骤折线图。这是我画的一个例子。
正如您所看到的,Excel中有一些代码。 Funfun Excel加载项允许您直接在Excel中使用JavaScript代码,以便您可以使用强大的库(如HighCharts.js或D3.js)来绘制单独使用Excel时可能很难的图表。在这个例子中,我使用了HighCharts.js。由于HighCharts.js iteself支持步骤线图,因此绘制此图表非常容易,因此您需要做的就是在代码中添加步骤选项,如下面的代码所示。
series: [{
name: "Balance",
data: balance,
step: true,
showInLegend: false
}]
我向您展示的图表与其他解决方案相比的另一个优势是您可以在x轴上获得实时间隔。正如您所提到的,您可能不会每天记录您的余额,上例中的x轴显示不规则时间间隔。
Funfun还有一个在线编辑器,您可以在其中浏览JavaScript代码和结果。您可以在下面的链接中查看我如何制作示例图表的详细信息。
https://www.funfun.io/1/#/edit/5a4e478f1010eb73fe125cb2
一旦您对在线编辑器中获得的结果感到满意,就可以使用上面的URL轻松地将结果加载到Excel中。但是,当然,首先需要通过插入 - Office加载项将Funfun加载项添加到Excel中。以下是一些屏幕截图,显示了如何将示例加载到Excel中。
披露:我是Funfun的开发者
答案 3 :(得分:0)
Excel在绘制这类东西时真的很垃圾。根据我的经验,绘制图表的最佳方法是从X-Y图而不是折线图开始,然后选择用线连接点的选项。
您可能还需要添加一个显示“自开始以来的天数”的新列,并将其用作X轴而不是日期 - 我不记得Excel 2007是否可以正确处理日期。试试吧,看看。
最后,如果您在图表中包含尚未填充的任何单元格(例如,因为即使您目前只有几个条目,您想要从整个列创建图表),您需要使用空单元格填充“#N / A”,否则将其绘制为0。