Excel的日期轴标记算法

时间:2010-10-05 14:37:15

标签: excel vba

我经常在Excel中绘制时间序列数据,我发现线图上的默认Excel日期轴标记非常难看。特别是,

1)日期通常是水平或垂直旋转,这会压缩绘图区域的空间并使日期标签更难阅读。这是因为有两个主要的刻度线。

2)标签显示太多精确度:时间序列数据库通常会将类似月度时间序列的内容转储到电子表格中,日期值如1/1/2001,2 / 1/2001等.Excel将尝试显示默认情况下为完整的mm / dd / yyyy日期字符串,这对于每日短时间序列可能更为可取,但对于非日常系列或长时间运行的系列而言则不合适。在这些情况下,格式如mm / yyyy或yyyy可能更可取。

我的问题是,是否有人已经编写了一个可以制作漂亮日期标签轴的好算法?水平标签只有间距足以容纳它的刻度线,并且当数据开始覆盖更长和更长的时间跨度时(即从1/1/2001变换到1/2001到2001的标签),日期的智能格式化。我最终必须使用VBA写这个,但我可以翻译用另一种语言编写的算法。

感谢。

1 个答案:

答案 0 :(得分:3)

这不是一个真正的答案,但也许是一种肥料....我与你分享你的担忧,因为我经常遇到同样的麻烦。

Excel(2003)不支持具有真实日期轴的图表(其中01年2月到1月3日的距离为28个单位,01年3月到01年4月的距离为31个单位)。我发现的最佳近似值(对于跨越2-3个月的图表)是

  • 使用X / Y图表
  • 手动将值(X)比例的最小值和最大值设置为表示一个月中第一个的整数(例如,2010年2月1日,由整数40210表示)
  • 将主要单位设置为30,42(一个月的平均长度 - Excel无法执行变量主要刻度)
  • 将次要单位设为7(所以我至少要清楚几周)
  • 在X轴上使用自定义数字格式(例如“MMM-YYYY”)

有时我通过暂时将日期显示为“DD-MM-YYYY”来调整上述内容,并查看我按比例调整的每月首日数,并调整最小值以获得最佳值。日期范围越长,得到的准确度越低。

希望至少有一点帮助......