Excel 中的折线图将多个系列合并为一行?
Multiple series into one line in line graph in Excel?
我正在尝试在 Excel 中制作一个折线图,将多个系列组合成一条线。到目前为止,我所能创建的只是一个在同一 y 轴上具有多条线的图表。是否可以按时间顺序将来自多个系列的多个数据点组合在一起?
对于上下文:我正在尝试制作一个图表来显示 1880 年至 2017 年之间的每月温度。一月、二月等等,都是一个单独的系列。我可以制作一个按时间顺序显示每年和每个月的条形图,但是有没有一种方法可以将其转换为折线图,而无需为每个月生成多条线,而是将所有月份数据点很好地组合在一起的一条线?
谢谢!
如果您描述的数据没有差距,
你有一个 table
(2017-1880+1)=138
行乘 12
列。
这是制作数据单线图的一种方法
(示例中使用的一些随机虚数数据)。
遗憾的是,标准 Excel
数据函数只能处理
日期不早于 1900 年 1 月 1 日,
例如,http://www.exceluser.com/formulas/earlydates.htm.
但你很幸运,因为你只需要一年和一个月的数字。
在这种情况下,x
轴上的日期
可以用数字表示,整数部分是年份,
小数部分是代表月份的年份的分数。
假设 table 在 Sheet1!A2:M139
中,
select Sheet2 ,输入公式
=1880+FLOOR((ROW()-2)/12,1)+MOD(ROW()-2,12)/12
在单元格 A2
中,并以任何您喜欢的方式将其复制到 A1657
。
比如selectA2
,按Ctrl+C,
单击 Name box
输入字段,
在其中输入 A2:A1657
范围,然后按
Ctrl+V。
就是这样,这将创建所有
x
单线图的轴日期值。
下一步是填充范围B2:B1657
因此,每月数据来自 Sheet1
.
Select 单元格 B2
并输入公式
=TRANSPOSE(INDIRECT(ADDRESS(2+LEFT(A2,4)-1880,2,,,"Sheet1")&":"&ADDRESS(2+LEFT(A2,4)-1880,13)))
select 范围 B2:B13
,
单击公式末尾并按
Ctrl+Shift+回车。
B2:B13
范围现在填充了 1880 年从 Jan
到 Dec
的 T
数据,
它仍然是 selected。
按Ctrl+C复制这个范围,
然后 select B14:B1657
然后按 Ctrl+V.
就是这样,来自 table 的所有读数
将在 B2:B1657
.
范围内排列
编辑
第二部分还有更简单的解决方案:
用公式
填充范围 B2:B1657
=INDEX(Sheet1!$B:$M9,FLOOR((ROW()-2)/12,1)+1,MOD(ROW()-2,12)+1)
它只是将当前点的线性x
坐标转换,
根据后续行号((ROW()-2)
)转化为对应的行、列对
在 table 中并使用 INDEX()
函数提取 table 值。
我正在尝试在 Excel 中制作一个折线图,将多个系列组合成一条线。到目前为止,我所能创建的只是一个在同一 y 轴上具有多条线的图表。是否可以按时间顺序将来自多个系列的多个数据点组合在一起?
对于上下文:我正在尝试制作一个图表来显示 1880 年至 2017 年之间的每月温度。一月、二月等等,都是一个单独的系列。我可以制作一个按时间顺序显示每年和每个月的条形图,但是有没有一种方法可以将其转换为折线图,而无需为每个月生成多条线,而是将所有月份数据点很好地组合在一起的一条线?
谢谢!
如果您描述的数据没有差距,
你有一个 table
(2017-1880+1)=138
行乘 12
列。
这是制作数据单线图的一种方法
(示例中使用的一些随机虚数数据)。
遗憾的是,标准 Excel
数据函数只能处理
日期不早于 1900 年 1 月 1 日,
例如,http://www.exceluser.com/formulas/earlydates.htm.
但你很幸运,因为你只需要一年和一个月的数字。
在这种情况下,x
轴上的日期
可以用数字表示,整数部分是年份,
小数部分是代表月份的年份的分数。
假设 table 在 Sheet1!A2:M139
中,
select Sheet2 ,输入公式
=1880+FLOOR((ROW()-2)/12,1)+MOD(ROW()-2,12)/12
在单元格 A2
中,并以任何您喜欢的方式将其复制到 A1657
。
比如selectA2
,按Ctrl+C,
单击 Name box
输入字段,
在其中输入 A2:A1657
范围,然后按
Ctrl+V。
就是这样,这将创建所有
x
单线图的轴日期值。
下一步是填充范围B2:B1657
因此,每月数据来自 Sheet1
.
Select 单元格 B2
并输入公式
=TRANSPOSE(INDIRECT(ADDRESS(2+LEFT(A2,4)-1880,2,,,"Sheet1")&":"&ADDRESS(2+LEFT(A2,4)-1880,13)))
select 范围 B2:B13
,
单击公式末尾并按
Ctrl+Shift+回车。
B2:B13
范围现在填充了 1880 年从 Jan
到 Dec
的 T
数据,
它仍然是 selected。
按Ctrl+C复制这个范围,
然后 select B14:B1657
然后按 Ctrl+V.
就是这样,来自 table 的所有读数
将在 B2:B1657
.
编辑
第二部分还有更简单的解决方案: 用公式
填充范围B2:B1657
=INDEX(Sheet1!$B:$M9,FLOOR((ROW()-2)/12,1)+1,MOD(ROW()-2,12)+1)
它只是将当前点的线性x
坐标转换,
根据后续行号((ROW()-2)
)转化为对应的行、列对
在 table 中并使用 INDEX()
函数提取 table 值。