如果您描述的数据中没有空白,
你有一张桌子
(2017-1880+1)=138 行,12 列。
这是制作数据单线图的一种方法
(示例中使用的一些随机虚构数据)。
不幸的是,标准的Excel 数据函数只能处理
日期不早于 1900 年 1 月 1 日,
例如,请参阅http://www.exceluser.com/formulas/earlydates.htm。
但你很幸运,因为你只需要一年和一个月的数字。
在这种情况下,沿 x 轴的日期
可以用数字表示,整数部分是年份,
小数部分是一年的小数部分,代表一个月。
假设表在Sheet1!A2:M139,
选择 Sheet2 ,输入公式
=1880+FLOOR((ROW()-2)/12,1)+MOD(ROW()-2,12)/12
在单元格A2 中,并以您喜欢的任何方式将其复制到A1657。
例如选择A2,按Ctrl+C,
单击Name box 输入字段,
在其中输入 A2:A1657 范围并按
Ctrl+V。
就是这样,这将创建所有
x-axis 单线图的日期值。
下一步是填充范围B2:B1657
因此使用来自Sheet1 的月度数据。
选择单元格B2并输入公式
=TRANSPOSE(INDIRECT(ADDRESS(2+LEFT(A2,4)-1880,2,,,"Sheet1")&":"&ADDRESS(2+LEFT(A2,4)-1880,13)))
选择范围B2:B13,
单击公式末尾并按
Ctrl+Shift+Enter。
范围 B2:B13 现在填充了从 1880 年的 Jan 到 Dec 的 T 数据,
它仍然被选中。
按Ctrl+C复制这个范围,
然后选择B14:B1657并按Ctrl+V。
就是这样,表格中的所有读数
将在B2:B1657 范围内排列。
编辑
第二部分还有更简单的解决方案:
用公式填充范围B2:B1657
=INDEX(Sheet1!$B$2:$M$139,FLOOR((ROW()-2)/12,1)+1,MOD(ROW()-2,12)+1)
它只是转换当前点的线性x坐标,
根据后续行号((ROW()-2))转换成对应的行、列对
并用INDEX()函数提取表中的值。