我在Excel中有以下数据。
项目创建了一个月的调用 2012年12月\x{e76f}\x{e76f} 请求-2013年1月-6-8-9 请求:2013年2月 dotcom 2012年12月 dotcom 2013年1月 dotcom 2013年2月\x{e76f}2
数据只是一个很小的子集。对于整个数据集,将有4个项目,日期从2012年至2014年6月不等
我试图创建一个图表,为月份和每个项目的数据是条形堆叠,而上覆的X轴是月份
我附上了我想要制作的图表的模型。

如果我只想使用一个创建的调用,打开调用,关闭调用,我可以创建堆叠条形图。不过,我需要一个将三者结合在一起的图表。
发布于 2014-06-19 14:32:16
我向你展示我的想法。如果没问题,很容易适应.
按照该计划:

您有一些您需要的东西,但是使用一个简单的图表栏。诀窍是以正确的方式转换数据。为此,我使用了VBA,因为它更灵活.
在连接到按钮(更新)的模块中使用此代码.:
Dim N0(1 To 100) As String
Dim N1(1 To 100) As String
Dim N2(1 To 100) As String
Dim N3(1 To 100) As String
Range("B14:H44").Clear
Range("B1").Select
e = 0
For i = 1 To 9999
If ActiveCell.Offset(i, 0).Value = "" Then Exit For
e = e + 1
N0(e) = ActiveCell.Offset(i, 0).Value
N1(e) = ActiveCell.Offset(i, 1).Value
N2(e) = ActiveCell.Offset(i, 2).Value
N3(e) = ActiveCell.Offset(i, 3).Value
Next
Range("B15").Select
For i = 1 To e
If (i > 1) And (N0(i) = N0(1)) Then Exit For
ActiveCell.Offset((i - 1) * 4, 0).Value = "["
ActiveCell.Offset((i - 1) * 4 + 1, 0).Value = N0(i)
ActiveCell.Offset((i - 1) * 4 + 2, 0).Value = "]"
ActiveCell.Offset((i - 1) * 4 + 3, 0).Value = ""
Next
nRep = i - 1
Debug.Print nRep
nrow = 0
For i = 1 To e
If (i > nRep) And (N0(i) = N0(1)) Then nrow = nrow + 1
For k = 1 To 99
If ActiveCell.Offset((k - 1) * 4 + 1, 0).Value = "" Then Exit For
If ActiveCell.Offset((k - 1) * 4 + 1, 0).Value = N0(i) Then
ActiveCell.Offset((k - 1) * 4, 1 + nrow).Value = N1(i)
ActiveCell.Offset((k - 1) * 4 + 1, 1 + nrow).Value = N2(i)
ActiveCell.Offset((k - 1) * 4 + 2, 1 + nrow).Value = N3(i)
End If
Next
Next宏为图表生成新的范围数据.空白行用于视觉划分山脚下的条子.
之后,手动或如果您喜欢通过VBA,您可以调整图表(缩小间隙宽度,添加标签.)
https://stackoverflow.com/questions/24281420
复制相似问题